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,13 +17,13 @@ namespace OpenRA.Mods.RA.Buildings
public object Create(ActorInitializer init) { return new CanPowerDown(init); }
}
public class CanPowerDown : IResolveOrder, IDisable, ISync
public class CanPowerDown : IResolveOrder, IDisable, INotifyCapture, ISync
{
[Sync]
bool disabled = false;
int normalPower = 0;
readonly PowerManager PowerManager;
readonly TechTree TechTree;
PowerManager PowerManager;
TechTree TechTree;
public CanPowerDown(ActorInitializer init)
{
@@ -47,5 +47,11 @@ namespace OpenRA.Mods.RA.Buildings
TechTree.Update();
}
}
public void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner)
{
PowerManager = newOwner.PlayerActor.Trait<PowerManager>();
TechTree = newOwner.PlayerActor.Trait<TechTree>();
}
}
}