Files
OpenRA/OpenRa.Game/Traits/Activities/DeployMcv.cs
2010-01-17 09:30:53 +13:00

32 lines
770 B
C#
Executable File

using System;
namespace OpenRa.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( "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." );
}
}
}