Use INotifyOwnerChanged for updating internal references.

This commit is contained in:
Paul Chote
2014-10-13 19:43:11 +13:00
parent 8508fc5155
commit a08a3a3869
12 changed files with 45 additions and 33 deletions

View File

@@ -22,7 +22,7 @@ namespace OpenRA.Mods.RA.Power
public object Create(ActorInitializer init) { return new Power(init.self, this); }
}
public class Power : INotifyCapture
public class Power : INotifyOwnerChanged
{
readonly PowerInfo info;
readonly Lazy<IPowerModifier[]> powerModifiers;
@@ -41,7 +41,7 @@ namespace OpenRA.Mods.RA.Power
powerModifiers = Exts.Lazy(() => self.TraitsImplementing<IPowerModifier>().ToArray());
}
public void OnCapture(Actor self, Actor captor, Player oldOwner, Player newOwner)
public void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
{
PlayerPower = newOwner.PlayerActor.Trait<PowerManager>();
}