Try again, with less fail.

This commit is contained in:
Paul Chote
2010-09-18 19:56:03 +12:00
parent 8455dadb3c
commit 4cb26c0e3c
9 changed files with 21 additions and 75 deletions

View File

@@ -17,15 +17,17 @@ namespace OpenRA.Mods.RA
public object Create(ActorInitializer init) { return new CanPowerDown(init); }
}
public class CanPowerDown : IResolveOrder
public class CanPowerDown : IResolveOrder, IDisable
{
[Sync]
bool disabled = false;
int normalPower = 0;
readonly PowerManager PlayerPower;
public CanPowerDown(ActorInitializer init)
{
PlayerPower = init.self.Owner.PlayerActor.Trait<PowerManager>();
normalPower = init.self.Info.Traits.Get<BuildingInfo>().Power;
}
public bool Disabled { get { return disabled; } }
@@ -37,10 +39,7 @@ namespace OpenRA.Mods.RA
var eva = self.World.WorldActor.Info.Traits.Get<EvaAlertsInfo>();
Sound.PlayToPlayer(self.Owner, disabled ? eva.EnablePower : eva.DisablePower);
if (disabled)
PlayerPower.Disable(self, "PowerDown");
else
PlayerPower.RemoveDisable(self, "PowerDown");
PlayerPower.UpdateActor(self, disabled ? 0 : normalPower);
}
}
}