a pile of plane simplifications

This commit is contained in:
Chris Forbes
2010-03-27 10:40:14 +13:00
parent d2ad90aa5b
commit 2f02b5c453
9 changed files with 32 additions and 23 deletions

View File

@@ -26,12 +26,12 @@ namespace OpenRA.Traits.Activities
{
public IActivity NextActivity { get; set; }
int remainingTicks;
int targetAltitude;
public FlyTimed(int ticks, int targetAltitude) { remainingTicks = ticks; this.targetAltitude = targetAltitude; }
public FlyTimed(int ticks) { remainingTicks = ticks; }
public IActivity Tick(Actor self)
{
var targetAltitude = self.Info.Traits.Get<PlaneInfo>().CruiseAltitude;
if (remainingTicks-- == 0) return NextActivity;
FlyUtil.Fly(self, targetAltitude);
return this;
@@ -43,19 +43,25 @@ namespace OpenRA.Traits.Activities
public class FlyOffMap : IActivity
{
public IActivity NextActivity { get; set; }
readonly int targetAltitude;
bool isCanceled;
public bool Interruptible = true;
public FlyOffMap(int targetAltitude) { this.targetAltitude = targetAltitude; }
public IActivity Tick(Actor self)
{
var targetAltitude = self.Info.Traits.Get<PlaneInfo>().CruiseAltitude;
if (isCanceled || !self.World.Map.IsInMap(self.Location)) return NextActivity;
FlyUtil.Fly(self, targetAltitude);
return this;
}
public void Cancel(Actor self) { isCanceled = true; NextActivity = null; }
public void Cancel(Actor self)
{
if (Interruptible)
{
isCanceled = true;
NextActivity = null;
}
}
}
}