Skip to content

Commit

Permalink
Add queued argument to CanIssueDeployOrder.
Browse files Browse the repository at this point in the history
  • Loading branch information
pchote committed Feb 20, 2020
1 parent 7e72cd2 commit c237382
Show file tree
Hide file tree
Showing 9 changed files with 17 additions and 10 deletions.
2 changes: 1 addition & 1 deletion OpenRA.Mods.Cnc/Traits/MadTank.cs
Expand Up @@ -121,7 +121,7 @@ Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
return new Order("Detonate", self, queued);
}

bool IIssueDeployOrder.CanIssueDeployOrder(Actor self) { return true; }
bool IIssueDeployOrder.CanIssueDeployOrder(Actor self, bool queued) { return true; }

string IOrderVoice.VoicePhraseForOrder(Actor self, Order order)
{
Expand Down
2 changes: 1 addition & 1 deletion OpenRA.Mods.Cnc/Traits/Minelayer.cs
Expand Up @@ -98,7 +98,7 @@ Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
return new Order("PlaceMine", self, Target.FromCell(self.World, self.Location), queued);
}

bool IIssueDeployOrder.CanIssueDeployOrder(Actor self) { return true; }
bool IIssueDeployOrder.CanIssueDeployOrder(Actor self, bool queued) { return true; }

void IResolveOrder.ResolveOrder(Actor self, Order order)
{
Expand Down
2 changes: 1 addition & 1 deletion OpenRA.Mods.Common/Traits/Air/Aircraft.cs
Expand Up @@ -968,7 +968,7 @@ Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
return new Order("ReturnToBase", self, queued);
}

bool IIssueDeployOrder.CanIssueDeployOrder(Actor self) { return rearmable != null && rearmable.Info.RearmActors.Any(); }
bool IIssueDeployOrder.CanIssueDeployOrder(Actor self, bool queued) { return rearmable != null && rearmable.Info.RearmActors.Any(); }

public string VoicePhraseForOrder(Actor self, Order order)
{
Expand Down
2 changes: 1 addition & 1 deletion OpenRA.Mods.Common/Traits/Cargo.cs
Expand Up @@ -226,7 +226,7 @@ Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
return new Order("Unload", self, queued);
}

bool IIssueDeployOrder.CanIssueDeployOrder(Actor self) { return true; }
bool IIssueDeployOrder.CanIssueDeployOrder(Actor self, bool queued) { return true; }

public void ResolveOrder(Actor self, Order order)
{
Expand Down
2 changes: 1 addition & 1 deletion OpenRA.Mods.Common/Traits/Carryall.cs
Expand Up @@ -286,7 +286,7 @@ Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
return new Order("Unload", self, queued);
}

bool IIssueDeployOrder.CanIssueDeployOrder(Actor self) { return true; }
bool IIssueDeployOrder.CanIssueDeployOrder(Actor self, bool queued) { return true; }

void IResolveOrder.ResolveOrder(Actor self, Order order)
{
Expand Down
Expand Up @@ -194,7 +194,7 @@ Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
return new Order("GrantConditionOnDeploy", self, queued);
}

bool IIssueDeployOrder.CanIssueDeployOrder(Actor self) { return !IsTraitPaused && !IsTraitDisabled; }
bool IIssueDeployOrder.CanIssueDeployOrder(Actor self, bool queued) { return !IsTraitPaused && !IsTraitDisabled; }

public void ResolveOrder(Actor self, Order order)
{
Expand Down
2 changes: 1 addition & 1 deletion OpenRA.Mods.Common/Traits/Transforms.cs
Expand Up @@ -121,7 +121,7 @@ Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
return new Order("DeployTransform", self, queued);
}

bool IIssueDeployOrder.CanIssueDeployOrder(Actor self) { return !IsTraitPaused && !IsTraitDisabled; }
bool IIssueDeployOrder.CanIssueDeployOrder(Actor self, bool queued) { return !IsTraitPaused && !IsTraitDisabled; }

public void DeployTransform(bool queued)
{
Expand Down
2 changes: 1 addition & 1 deletion OpenRA.Mods.Common/TraitsInterfaces.cs
Expand Up @@ -412,7 +412,7 @@ public interface ICustomMovementLayer
public interface IIssueDeployOrder
{
Order IssueDeployOrder(Actor self, bool queued);
bool CanIssueDeployOrder(Actor self);
bool CanIssueDeployOrder(Actor self, bool queued);
}

public enum ActorPreviewType { PlaceBuilding, ColorPicker, MapEditorSidebar }
Expand Down
11 changes: 9 additions & 2 deletions OpenRA.Mods.Common/Widgets/Logic/Ingame/CommandBarLogic.cs
Expand Up @@ -155,7 +155,14 @@ public CommandBarLogic(Widget widget, World world, Dictionary<string, MiniYaml>
{
BindButtonIcon(deployButton);

deployButton.IsDisabled = () => { UpdateStateIfNecessary(); return !selectedDeploys.Any(pair => pair.Trait.CanIssueDeployOrder(pair.Actor)); };
deployButton.IsDisabled = () =>
{
UpdateStateIfNecessary();
var queued = Game.GetModifierKeys().HasModifier(Modifiers.Shift);
return !selectedDeploys.Any(pair => pair.Trait.CanIssueDeployOrder(pair.Actor, queued));
};

deployButton.IsHighlighted = () => deployHighlighted > 0;
deployButton.OnClick = () =>
{
Expand Down Expand Up @@ -338,7 +345,7 @@ void PerformDeployOrderOnSelection(bool queued)
UpdateStateIfNecessary();

var orders = selectedDeploys
.Where(pair => pair.Trait.CanIssueDeployOrder(pair.Actor))
.Where(pair => pair.Trait.CanIssueDeployOrder(pair.Actor, queued))
.Select(d => d.Trait.IssueDeployOrder(d.Actor, queued))
.Where(d => d != null)
.ToArray();
Expand Down

0 comments on commit c237382

Please sign in to comment.