Fix some more cases of stale Player references after capture.

This commit is contained in:
Paul Chote
2011-01-30 17:14:00 +13:00
parent 7f3f783187
commit ccf04240cf
3 changed files with 27 additions and 8 deletions

View File

@@ -17,9 +17,9 @@ namespace OpenRA.Mods.RA.Buildings
public object Create(ActorInitializer init) { return new RequiresPower(init.self); }
}
class RequiresPower : IDisable
class RequiresPower : IDisable, INotifyCapture
{
readonly PowerManager power;
PowerManager power;
public RequiresPower( Actor self )
{
power = self.Owner.PlayerActor.Trait<PowerManager>();
@@ -29,5 +29,10 @@ namespace OpenRA.Mods.RA.Buildings
{
get { return power.PowerProvided < power.PowerDrained; }
}
public void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner)
{
power = newOwner.PlayerActor.Trait<PowerManager>();
}
}
}