Files
OpenRA/OpenRa.Game/Traits/Activities/DeployMcv.cs
2010-01-03 08:06:19 +13:00

32 lines
791 B
C#
Executable File

using System;
namespace OpenRa.Game.Traits.Activities
{
class DeployMcv : IActivity
{
public IActivity NextActivity { get; set; }
public IActivity Tick( Actor self )
{
Game.world.AddFrameEndTask( _ =>
{
self.Health = 0;
Game.world.Remove( self );
if (self.Owner == Game.LocalPlayer)
{
Sound.Play("placbldg.aud");
Sound.Play("build5.aud");
}
Game.world.Add( new Actor( Rules.UnitInfo["fact"], self.Location - new int2( 1, 1 ), self.Owner ) );
} );
return this;
}
public void Cancel( Actor self )
{
// Cancel can't happen between this being moved to the head of the list, and it being Ticked.
throw new InvalidOperationException( "DeployMcvAction: Cancel() should never occur." );
}
}
}