Add LeaveMapAtClosestEdge idle behaviour for Aircraft
This commit is contained in:
committed by
Paul Chote
parent
ef69a3de66
commit
3eeb677f14
@@ -27,6 +27,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
Land,
|
||||
ReturnToBase,
|
||||
LeaveMap,
|
||||
LeaveMapAtClosestEdge
|
||||
}
|
||||
|
||||
public class AircraftInfo : PausableConditionalTraitInfo, IPositionableInfo, IFacingInfo, IMoveInfo, ICruiseAltitudeInfo,
|
||||
@@ -725,6 +726,12 @@ namespace OpenRA.Mods.Common.Traits
|
||||
self.QueueActivity(new FlyOffMap(self));
|
||||
self.QueueActivity(new RemoveSelf());
|
||||
}
|
||||
else if (Info.IdleBehavior == IdleBehaviorType.LeaveMapAtClosestEdge)
|
||||
{
|
||||
var edgeCell = self.World.Map.ChooseClosestEdgeCell(self.Location);
|
||||
self.QueueActivity(new FlyOffMap(self, Target.FromCell(self.World, edgeCell)));
|
||||
self.QueueActivity(new RemoveSelf());
|
||||
}
|
||||
else if (Info.IdleBehavior == IdleBehaviorType.ReturnToBase && GetActorBelow() == null)
|
||||
self.QueueActivity(new ReturnToBase(self, null, !Info.TakeOffOnResupply));
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user