diff --git a/OpenRa.Game/OpenRa.Game.csproj b/OpenRa.Game/OpenRa.Game.csproj index 2d3ddef63f..9746a316ef 100644 --- a/OpenRa.Game/OpenRa.Game.csproj +++ b/OpenRa.Game/OpenRa.Game.csproj @@ -137,6 +137,7 @@ + diff --git a/OpenRa.Game/Traits/Activities/CallFunc.cs b/OpenRa.Game/Traits/Activities/CallFunc.cs new file mode 100644 index 0000000000..08556e3251 --- /dev/null +++ b/OpenRa.Game/Traits/Activities/CallFunc.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OpenRa.Traits.Activities +{ + public class CallFunc : IActivity + { + Action a; + public IActivity NextActivity { get; set; } + + public IActivity Tick(Actor self) + { + if (a != null) a(); + return NextActivity; + } + + public void Cancel(Actor self) { a = null; NextActivity = null; } + } +}