From 3eb971ad2cad565a6d066788f3e0f15b3de7c5a4 Mon Sep 17 00:00:00 2001 From: alzeih Date: Sat, 20 Mar 2010 18:24:41 +1300 Subject: [PATCH] New Wait activity --- OpenRA.Game/OpenRA.Game.csproj | 1 + OpenRA.Game/Traits/Activities/Wait.cs | 32 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 OpenRA.Game/Traits/Activities/Wait.cs diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index b4362408f3..dc37a95caf 100644 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -285,6 +285,7 @@ + diff --git a/OpenRA.Game/Traits/Activities/Wait.cs b/OpenRA.Game/Traits/Activities/Wait.cs new file mode 100644 index 0000000000..4566380c5d --- /dev/null +++ b/OpenRA.Game/Traits/Activities/Wait.cs @@ -0,0 +1,32 @@ + +using System; + +namespace OpenRA.Traits.Activities +{ + + public class Wait: IActivity + { + int remainingTicks; + + public Wait (int period) + { + remainingTicks = period; + } + + public IActivity Tick (Actor self) + { + if (remainingTicks-- == 0) return NextActivity; + return this; + } + + + public void Cancel (Actor self) + { + remainingTicks = 0; NextActivity = null; + } + + + public IActivity NextActivity { get; set; } + + } +}