Remove ReturnToBase order feedback if no RearmBuildings are defined.

ReturnToBase requires RearmBuildings to function.
This commit is contained in:
Paul Chote
2018-01-03 22:11:47 +00:00
committed by abcdefg30
parent 283af60b7c
commit 7dea5e28af
2 changed files with 7 additions and 2 deletions

View File

@@ -663,6 +663,9 @@ namespace OpenRA.Mods.Common.Traits
Order IIssueDeployOrder.IssueDeployOrder(Actor self)
{
if (!Info.RearmBuildings.Any())
return null;
return new Order("ReturnToBase", self, false);
}
@@ -675,9 +678,10 @@ namespace OpenRA.Mods.Common.Traits
{
case "Move":
case "Enter":
case "ReturnToBase":
case "Stop":
return Info.Voice;
case "ReturnToBase":
return Info.RearmBuildings.Any() ? Info.Voice : null;
default: return null;
}
}
@@ -764,7 +768,7 @@ namespace OpenRA.Mods.Common.Traits
self.QueueActivity(new HeliLand(self, true));
}
}
else if (order.OrderString == "ReturnToBase")
else if (order.OrderString == "ReturnToBase" && Info.RearmBuildings.Any())
{
UnReserve();
self.CancelActivity();

View File

@@ -309,6 +309,7 @@ namespace OpenRA.Mods.Common.Widgets
var orders = selectedDeploys
.Where(pair => pair.Trait.IsTraitEnabled())
.Select(d => d.Trait.IssueDeployOrder(d.Actor))
.Where(d => d != null)
.ToArray();
foreach (var o in orders)