Route the power check for support powers via the tech tree

This commit is contained in:
Paul Chote
2010-09-18 20:42:32 +12:00
parent 2a10af2007
commit 652f06f604
10 changed files with 42 additions and 45 deletions

View File

@@ -22,11 +22,13 @@ namespace OpenRA.Mods.RA
[Sync]
bool disabled = false;
int normalPower = 0;
readonly PowerManager PlayerPower;
readonly PowerManager PowerManager;
readonly TechTree TechTree;
public CanPowerDown(ActorInitializer init)
{
PlayerPower = init.self.Owner.PlayerActor.Trait<PowerManager>();
PowerManager = init.self.Owner.PlayerActor.Trait<PowerManager>();
TechTree = init.self.Owner.PlayerActor.Trait<TechTree>();
normalPower = init.self.Info.Traits.Get<BuildingInfo>().Power;
}
public bool Disabled { get { return disabled; } }
@@ -39,7 +41,10 @@ namespace OpenRA.Mods.RA
var eva = self.World.WorldActor.Info.Traits.Get<EvaAlertsInfo>();
Sound.PlayToPlayer(self.Owner, disabled ? eva.EnablePower : eva.DisablePower);
PlayerPower.UpdateActor(self, disabled ? 0 : normalPower);
PowerManager.UpdateActor(self, disabled ? 0 : normalPower);
// Rebuild the tech tree; some support powers require active buildings
TechTree.Update();
}
}
}