harvester Deliver order works with queues
This commit is contained in:
@@ -144,12 +144,12 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
if (!preventDock)
|
||||
{
|
||||
dockOrder.Queue(self, new CallFunc(() => dockedHarv = harv, false));
|
||||
dockOrder.Queue(self, DockSequence(harv, self));
|
||||
dockOrder.Queue(self, new CallFunc(() => dockedHarv = null, false));
|
||||
dockOrder.QueueChild(self, new CallFunc(() => dockedHarv = harv, false));
|
||||
dockOrder.QueueChild(self, DockSequence(harv, self));
|
||||
dockOrder.QueueChild(self, new CallFunc(() => dockedHarv = null, false));
|
||||
}
|
||||
|
||||
dockOrder.Queue(self, new CallFunc(() => harv.Trait<Harvester>().ContinueHarvesting(harv)));
|
||||
dockOrder.QueueChild(self, new CallFunc(() => harv.Trait<Harvester>().ContinueHarvesting(harv)));
|
||||
}
|
||||
|
||||
void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
|
||||
|
||||
@@ -397,7 +397,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
LinkProc(self, OwnerLinkedProc = null);
|
||||
idleSmart = true;
|
||||
|
||||
self.CancelActivity();
|
||||
if (!order.Queued)
|
||||
self.CancelActivity();
|
||||
|
||||
CPos loc;
|
||||
if (order.Target.Type != TargetType.Invalid)
|
||||
@@ -442,7 +443,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
self.SetTargetLine(order.Target, Color.Green);
|
||||
|
||||
self.CancelActivity();
|
||||
if (!order.Queued)
|
||||
self.CancelActivity();
|
||||
|
||||
self.QueueActivity(new DeliverResources(self));
|
||||
|
||||
foreach (var n in notifyHarvesterAction)
|
||||
|
||||
Reference in New Issue
Block a user