From 06158ee155e3db34cb4d3d31949ad4685f0fe43f Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 31 Mar 2016 20:54:22 +0100 Subject: [PATCH] Simplify and fix WICW left-click order check. The InputOverridesSelection check was inverted. --- .../Widgets/WorldInteractionControllerWidget.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/OpenRA.Game/Widgets/WorldInteractionControllerWidget.cs b/OpenRA.Game/Widgets/WorldInteractionControllerWidget.cs index d311434ee8..2333cb39c1 100644 --- a/OpenRA.Game/Widgets/WorldInteractionControllerWidget.cs +++ b/OpenRA.Game/Widgets/WorldInteractionControllerWidget.cs @@ -100,9 +100,13 @@ namespace OpenRA.Widgets { if (!IsValidDragbox && World.Selection.Actors.Any() && !multiClick) { - if (!(World.ScreenMap.ActorsAt(mousePos).Any(x => x.Info.HasTraitInfo() && - (x.Owner.IsAlliedWith(World.RenderPlayer) || !World.FogObscures(x))) && !mi.Modifiers.HasModifier(Modifiers.Ctrl) && - !mi.Modifiers.HasModifier(Modifiers.Alt) && UnitOrderGenerator.InputOverridesSelection(World, mousePos, mi))) + var selectableActor = World.ScreenMap.ActorsAt(mousePos).Any(x => + x.Info.HasTraitInfo() && (x.Owner.IsAlliedWith(World.RenderPlayer) || !World.FogObscures(x))); + + var ignoreSelection = mi.Modifiers.HasModifier(Modifiers.Ctrl) || mi.Modifiers.HasModifier(Modifiers.Alt) || + UnitOrderGenerator.InputOverridesSelection(World, mousePos, mi); + + if (ignoreSelection || !selectableActor) { // Order units instead of selecting ApplyOrders(World, mi);