QueuedActivity's Insert is broken
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
|
||||
using OpenRA.Mods.RA.Activities;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
@@ -22,7 +23,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public AttackHeli(Actor self, AttackHeliInfo info) : base(self, info) { }
|
||||
|
||||
public override IActivity GetAttackActivity(Actor self, Target newTarget, bool allowMove)
|
||||
public override Activity GetAttackActivity(Actor self, Target newTarget, bool allowMove)
|
||||
{
|
||||
return new HeliAttack( newTarget );
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
using OpenRA.Mods.RA.Activities;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
@@ -22,7 +23,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public AttackPlane(Actor self, AttackPlaneInfo info) : base(self, info) { }
|
||||
|
||||
public override IActivity GetAttackActivity(Actor self, Target newTarget, bool allowMove)
|
||||
public override Activity GetAttackActivity(Actor self, Target newTarget, bool allowMove)
|
||||
{
|
||||
return new FlyAttack( newTarget );
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
}
|
||||
}
|
||||
|
||||
class FallToEarth : CancelableActivity
|
||||
class FallToEarth : Activity
|
||||
{
|
||||
int acceleration = 0;
|
||||
int spin = 0;
|
||||
@@ -47,7 +47,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
acceleration = self.World.SharedRandom.Next(2) * 2 - 1;
|
||||
}
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
var aircraft = self.Trait<Aircraft>();
|
||||
if (aircraft.Altitude <= 0)
|
||||
|
||||
@@ -15,7 +15,7 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class Fly : CancelableActivity
|
||||
public class Fly : Activity
|
||||
{
|
||||
public readonly int2 Pos;
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
public static Fly ToPx( int2 px ) { return new Fly( px ); }
|
||||
public static Fly ToCell( int2 pos ) { return new Fly( Util.CenterOfCell( pos ) ); }
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
var cruiseAltitude = self.Info.Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
|
||||
@@ -47,9 +47,9 @@ namespace OpenRA.Mods.RA.Air
|
||||
return this;
|
||||
}
|
||||
|
||||
public override IEnumerable<float2> GetCurrentPath()
|
||||
public override IEnumerable<Target> GetTargetQueue( Actor self )
|
||||
{
|
||||
yield return Pos;
|
||||
yield return Target.FromPos(Pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,14 +13,14 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class FlyAttack : CancelableActivity
|
||||
public class FlyAttack : Activity
|
||||
{
|
||||
readonly Target Target;
|
||||
IActivity inner;
|
||||
Activity inner;
|
||||
|
||||
public FlyAttack(Target target) { Target = target; }
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if( !Target.IsValid )
|
||||
Cancel( self );
|
||||
@@ -52,13 +52,13 @@ namespace OpenRA.Mods.RA.Air
|
||||
}
|
||||
}
|
||||
|
||||
public class FlyAttackLoop : CancelableActivity
|
||||
public class FlyAttackLoop : Activity
|
||||
{
|
||||
int2 Target;
|
||||
|
||||
public FlyAttackLoop(int2 target) { Target = target; }
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if( IsCanceled ) return NextActivity;
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class FlyCircle : CancelableActivity
|
||||
public class FlyCircle : Activity
|
||||
{
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
var cruiseAltitude = self.Info.Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
|
||||
@@ -34,10 +34,5 @@ namespace OpenRA.Mods.RA.Air
|
||||
FlyUtil.Fly(self, cruiseAltitude);
|
||||
return this;
|
||||
}
|
||||
|
||||
public override IEnumerable<float2> GetCurrentPath()
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,13 +13,13 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class FlyTimed : CancelableActivity
|
||||
public class FlyTimed : Activity
|
||||
{
|
||||
int remainingTicks;
|
||||
|
||||
public FlyTimed(int ticks) { remainingTicks = ticks; }
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if( IsCanceled ) return NextActivity;
|
||||
var targetAltitude = self.Info.Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
@@ -29,11 +29,11 @@ namespace OpenRA.Mods.RA.Air
|
||||
}
|
||||
}
|
||||
|
||||
public class FlyOffMap : CancelableActivity
|
||||
public class FlyOffMap : Activity
|
||||
{
|
||||
public bool Interruptible = true;
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
var targetAltitude = self.Info.Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
if (IsCanceled || !self.World.Map.IsInMap(self.Location)) return NextActivity;
|
||||
|
||||
@@ -15,12 +15,12 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class HeliAttack : CancelableActivity
|
||||
public class HeliAttack : Activity
|
||||
{
|
||||
Target target;
|
||||
public HeliAttack( Target target ) { this.target = target; }
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if (IsCanceled) return NextActivity;
|
||||
if (!target.IsValid) return NextActivity;
|
||||
|
||||
@@ -15,7 +15,7 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
class HeliFly : CancelableActivity
|
||||
class HeliFly : Activity
|
||||
{
|
||||
public readonly int2 Dest;
|
||||
public HeliFly(int2 dest)
|
||||
@@ -23,7 +23,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
Dest = dest;
|
||||
}
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if (IsCanceled) return NextActivity;
|
||||
|
||||
@@ -50,9 +50,9 @@ namespace OpenRA.Mods.RA.Air
|
||||
return this;
|
||||
}
|
||||
|
||||
public override IEnumerable<float2> GetCurrentPath()
|
||||
public override IEnumerable<Target> GetTargetQueue( Actor self )
|
||||
{
|
||||
yield return Dest;
|
||||
yield return Target.FromPos(Dest);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,13 +13,13 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
class HeliLand : CancelableActivity
|
||||
class HeliLand : Activity
|
||||
{
|
||||
public HeliLand(bool requireSpace) { this.requireSpace = requireSpace; }
|
||||
|
||||
bool requireSpace;
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if (IsCanceled) return NextActivity;
|
||||
var aircraft = self.Trait<Aircraft>();
|
||||
|
||||
@@ -15,7 +15,7 @@ using OpenRA.Mods.RA.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class HeliReturn : CancelableActivity
|
||||
public class HeliReturn : Activity
|
||||
{
|
||||
static Actor ChooseHelipad(Actor self)
|
||||
{
|
||||
@@ -25,7 +25,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
!Reservable.IsReserved(a));
|
||||
}
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if (IsCanceled) return NextActivity;
|
||||
var dest = ChooseHelipad(self);
|
||||
|
||||
@@ -15,13 +15,13 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class Land : CancelableActivity
|
||||
public class Land : Activity
|
||||
{
|
||||
Target Target;
|
||||
|
||||
public Land(Target t) { Target = t; }
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if (!Target.IsValid)
|
||||
Cancel(self);
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@ using OpenRA.Mods.RA.Buildings;
|
||||
|
||||
namespace OpenRA.Mods.RA.Air
|
||||
{
|
||||
public class ReturnToBase : CancelableActivity
|
||||
public class ReturnToBase : Activity
|
||||
{
|
||||
bool isCalculated;
|
||||
Actor dest;
|
||||
@@ -90,7 +90,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
this.dest = dest;
|
||||
}
|
||||
|
||||
public override IActivity Tick(Actor self)
|
||||
public override Activity Tick(Actor self)
|
||||
{
|
||||
if (IsCanceled) return NextActivity;
|
||||
if (!isCalculated)
|
||||
|
||||
Reference in New Issue
Block a user