Add missing self and optional pretick parameters to Queue, QueueChild and PrintActivity methods.
This means sequenceActivities needs to accept self as well.
This commit is contained in:
@@ -77,7 +77,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
// If all valid weapons have depleted their ammo and Rearmable trait exists, return to RearmActor to reload and then resume the activity
|
||||
if (rearmable != null && !useLastVisibleTarget && attackAircraft.Armaments.All(x => x.IsTraitPaused || !x.Weapon.IsValidAgainst(target, self.World, self)))
|
||||
return ActivityUtils.SequenceActivities(new ReturnToBase(self, aircraft.Info.AbortOnResupply), this);
|
||||
return ActivityUtils.SequenceActivities(self, new ReturnToBase(self, aircraft.Info.AbortOnResupply), this);
|
||||
|
||||
var pos = self.CenterPosition;
|
||||
var checkTarget = useLastVisibleTarget ? lastVisibleTarget : target;
|
||||
@@ -90,7 +90,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
return NextActivity;
|
||||
|
||||
// Fly towards the last known position
|
||||
return ActivityUtils.SequenceActivities(
|
||||
return ActivityUtils.SequenceActivities(self,
|
||||
new Fly(self, target, WDist.Zero, lastVisibleMaximumRange, checkTarget.CenterPosition, Color.Red),
|
||||
this);
|
||||
}
|
||||
@@ -103,18 +103,18 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
// TODO: This should fire each weapon at its maximum range
|
||||
if (attackAircraft != null && target.IsInRange(self.CenterPosition, attackAircraft.GetMinimumRange()))
|
||||
ChildActivity = ActivityUtils.SequenceActivities(
|
||||
ChildActivity = ActivityUtils.SequenceActivities(self,
|
||||
new FlyTimed(ticksUntilTurn, self),
|
||||
new Fly(self, target, checkTarget.CenterPosition, Color.Red),
|
||||
new FlyTimed(ticksUntilTurn, self));
|
||||
else
|
||||
ChildActivity = ActivityUtils.SequenceActivities(
|
||||
ChildActivity = ActivityUtils.SequenceActivities(self,
|
||||
new Fly(self, target, checkTarget.CenterPosition, Color.Red),
|
||||
new FlyTimed(ticksUntilTurn, self));
|
||||
|
||||
// HACK: This needs to be done in this round-about way because TakeOff doesn't behave as expected when it doesn't have a NextActivity.
|
||||
if (self.World.Map.DistanceAboveTerrain(self.CenterPosition).Length < aircraft.Info.MinAirborneAltitude)
|
||||
ChildActivity = ActivityUtils.SequenceActivities(new TakeOff(self), ChildActivity);
|
||||
ChildActivity = ActivityUtils.SequenceActivities(self, new TakeOff(self), ChildActivity);
|
||||
}
|
||||
|
||||
ActivityUtils.RunActivity(self, ChildActivity);
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
}
|
||||
|
||||
wasMovingWithinRange = true;
|
||||
return ActivityUtils.SequenceActivities(
|
||||
return ActivityUtils.SequenceActivities(self,
|
||||
aircraft.MoveWithinRange(target, minRange, maxRange, checkTarget.CenterPosition, targetLineColor),
|
||||
this);
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
// If all valid weapons have depleted their ammo and Rearmable trait exists, return to RearmActor to reload and then resume the activity
|
||||
if (rearmable != null && !useLastVisibleTarget && attackAircraft.Armaments.All(x => x.IsTraitPaused || !x.Weapon.IsValidAgainst(target, self.World, self)))
|
||||
return ActivityUtils.SequenceActivities(new HeliReturnToBase(self, aircraft.Info.AbortOnResupply), this);
|
||||
return ActivityUtils.SequenceActivities(self, new HeliReturnToBase(self, aircraft.Info.AbortOnResupply), this);
|
||||
|
||||
var pos = self.CenterPosition;
|
||||
var checkTarget = useLastVisibleTarget ? lastVisibleTarget : target;
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
if (nearestResupplier == null && aircraft.Info.LandWhenIdle)
|
||||
{
|
||||
if (aircraft.Info.TurnToLand)
|
||||
return ActivityUtils.SequenceActivities(new Turn(self, initialFacing), new HeliLand(self, true));
|
||||
return ActivityUtils.SequenceActivities(self, new Turn(self, initialFacing), new HeliLand(self, true));
|
||||
|
||||
return new HeliLand(self, true);
|
||||
}
|
||||
@@ -79,7 +79,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
var target = Target.FromPos(nearestResupplier.CenterPosition + randomPosition);
|
||||
|
||||
return ActivityUtils.SequenceActivities(
|
||||
return ActivityUtils.SequenceActivities(self,
|
||||
new HeliFly(self, target, WDist.Zero, aircraft.Info.WaitDistanceFromResupplyBase, targetLineColor: Color.Green),
|
||||
this);
|
||||
}
|
||||
@@ -109,7 +109,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
else
|
||||
landingProcedures.Add(NextActivity);
|
||||
|
||||
return ActivityUtils.SequenceActivities(landingProcedures.ToArray());
|
||||
return ActivityUtils.SequenceActivities(self, landingProcedures.ToArray());
|
||||
}
|
||||
|
||||
bool ShouldLandAtBuilding(Actor self, Actor dest)
|
||||
|
||||
@@ -30,19 +30,15 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
if (!aircraft.Info.TakeOffOnResupply)
|
||||
{
|
||||
ChildActivity = ActivityUtils.SequenceActivities(
|
||||
aircraft.GetResupplyActivities(host)
|
||||
.Append(new AllowYieldingReservation(self))
|
||||
.Append(new WaitFor(() => NextInQueue != null || aircraft.ReservedActor == null))
|
||||
.ToArray());
|
||||
ChildActivity = ActivityUtils.SequenceActivities(self, aircraft.GetResupplyActivities(host).ToArray());
|
||||
QueueChild(self, new AllowYieldingReservation(self));
|
||||
QueueChild(self, new WaitFor(() => NextInQueue != null || aircraft.ReservedActor == null));
|
||||
}
|
||||
else
|
||||
{
|
||||
ChildActivity = ActivityUtils.SequenceActivities(
|
||||
aircraft.GetResupplyActivities(host)
|
||||
.Append(new AllowYieldingReservation(self))
|
||||
.Append(new TakeOff(self, (a, b, c) => NextInQueue == null && b.NextInQueue == null))
|
||||
.ToArray());
|
||||
ChildActivity = ActivityUtils.SequenceActivities(self, aircraft.GetResupplyActivities(host).ToArray());
|
||||
QueueChild(self, new AllowYieldingReservation(self));
|
||||
QueueChild(self, new TakeOff(self, (a, b, c) => NextInQueue == null && b.NextInQueue == null));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
var nearestResupplier = ChooseResupplier(self, false);
|
||||
|
||||
if (nearestResupplier != null)
|
||||
return ActivityUtils.SequenceActivities(
|
||||
return ActivityUtils.SequenceActivities(self,
|
||||
new Fly(self, Target.FromActor(nearestResupplier), WDist.Zero, aircraft.Info.WaitDistanceFromResupplyBase, targetLineColor: Color.Green),
|
||||
new FlyCircle(self, aircraft.Info.NumberOfTicksToVerifyAvailableAirport),
|
||||
this);
|
||||
@@ -168,7 +168,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
if (!abortOnResupply)
|
||||
landingProcedures.Add(NextActivity);
|
||||
|
||||
return ActivityUtils.SequenceActivities(landingProcedures.ToArray());
|
||||
return ActivityUtils.SequenceActivities(self, landingProcedures.ToArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user