Fix cancellation issues and animation flicker

This commit is contained in:
Paul Chote
2010-06-16 10:37:54 +12:00
parent 40ba80b1e3
commit 5822caf7a8
3 changed files with 46 additions and 19 deletions

View File

@@ -25,16 +25,29 @@ namespace OpenRA.Mods.RA.Activities
public class Wait : IActivity
{
int remainingTicks;
bool interruptable = true;
public Wait(int period) { remainingTicks = period; }
public Wait(int period, bool interruptable)
{
remainingTicks = period;
this.interruptable = interruptable;
}
public IActivity Tick(Actor self)
{
if (remainingTicks-- == 0) return NextActivity;
return this;
}
public void Cancel(Actor self) { remainingTicks = 0; NextActivity = null; }
public void Cancel(Actor self)
{
if (!interruptable)
return;
remainingTicks = 0;
NextActivity = null;
}
public IActivity NextActivity { get; set; }
}
}