Fix location checks for queued deployment.
This commit is contained in:
@@ -51,10 +51,7 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
// Prevent deployment in bogus locations
|
// Prevent deployment in bogus locations
|
||||||
var transforms = self.TraitOrDefault<Transforms>();
|
var transforms = self.TraitOrDefault<Transforms>();
|
||||||
if (transforms != null && !transforms.CanDeploy())
|
if (transforms != null && !transforms.CanDeploy())
|
||||||
{
|
|
||||||
Cancel(self, true);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var nt in self.TraitsImplementing<INotifyTransform>())
|
foreach (var nt in self.TraitsImplementing<INotifyTransform>())
|
||||||
nt.BeforeTransform(self);
|
nt.BeforeTransform(self);
|
||||||
@@ -71,15 +68,10 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DoTransform(self);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnLastRun(Actor self)
|
|
||||||
{
|
|
||||||
if (!IsCanceling)
|
|
||||||
DoTransform(self);
|
|
||||||
}
|
|
||||||
|
|
||||||
void DoTransform(Actor self)
|
void DoTransform(Actor self)
|
||||||
{
|
{
|
||||||
// This activity may be buried as a child within one or more parents
|
// This activity may be buried as a child within one or more parents
|
||||||
|
|||||||
@@ -137,10 +137,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!queued)
|
self.QueueActivity(queued, GetTransformActivity(self));
|
||||||
self.CancelActivity();
|
|
||||||
|
|
||||||
self.QueueActivity(GetTransformActivity(self));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ResolveOrder(Actor self, Order order)
|
public void ResolveOrder(Actor self, Order order)
|
||||||
|
|||||||
Reference in New Issue
Block a user