Game.IssueOrder wrapper for OM; moved some more features into mod

This commit is contained in:
Chris Forbes
2010-01-29 19:34:13 +13:00
parent 3cf1ec5b45
commit 603bb44529
8 changed files with 21 additions and 24 deletions

View File

@@ -0,0 +1,34 @@
using OpenRa.Traits;
namespace OpenRa.Mods.RA
{
public class SonarPulsePowerInfo : SupportPowerInfo
{
public override object Create(Actor self) { return new SonarPulsePower(self, this); }
}
public class SonarPulsePower : SupportPower, IResolveOrder
{
public SonarPulsePower(Actor self, SonarPulsePowerInfo info) : base(self, info) { }
protected override void OnBeginCharging() { }
protected override void OnFinishCharging() { Sound.PlayToPlayer(Owner, "pulse1.aud"); }
protected override void OnActivate()
{
Game.IssueOrder(new Order("SonarPulse", Owner.PlayerActor));
}
public void ResolveOrder(Actor self, Order order)
{
if (order.OrderString == "SonarPulse")
{
// TODO: Reveal submarines
// Should this play for all players?
Sound.Play("sonpulse.aud");
FinishActivate();
}
}
}
}