Merge pull request #8886 from atimoschenkow/fly-queue

Fix queue commands for Plane/Heli
This commit is contained in:
abcdefg30
2015-08-12 00:50:43 +02:00
5 changed files with 89 additions and 47 deletions

View File

@@ -85,26 +85,23 @@ namespace OpenRA.Mods.Common.Traits
if (!explored && !Info.MoveIntoShroud)
return;
UnReserve();
if (!order.Queued)
UnReserve();
var target = Target.FromCell(self.World, cell);
self.SetTargetLine(target, Color.Green);
self.CancelActivity();
self.QueueActivity(new Fly(self, target));
self.QueueActivity(new FlyCircle(self));
self.QueueActivity(order.Queued, new FlyAndContinueWithCirclesWhenIdle(self, target));
}
else if (order.OrderString == "Enter")
{
if (Reservable.IsReserved(order.TargetActor))
return;
UnReserve();
if (!order.Queued)
UnReserve();
self.SetTargetLine(Target.FromOrder(self.World, order), Color.Green);
self.CancelActivity();
self.QueueActivity(new ReturnToBase(self, order.TargetActor));
self.QueueActivity(new ResupplyAircraft(self));
self.QueueActivity(order.Queued, Util.SequenceActivities(new ReturnToBase(self, order.TargetActor), new ResupplyAircraft(self)));
}
else if (order.OrderString == "Stop")
{