Simplify and fix WICW left-click order check.

The InputOverridesSelection check was inverted.
This commit is contained in:
Paul Chote
2016-03-31 20:54:22 +01:00
parent 95f091853e
commit 06158ee155

View File

@@ -100,9 +100,13 @@ namespace OpenRA.Widgets
{ {
if (!IsValidDragbox && World.Selection.Actors.Any() && !multiClick) if (!IsValidDragbox && World.Selection.Actors.Any() && !multiClick)
{ {
if (!(World.ScreenMap.ActorsAt(mousePos).Any(x => x.Info.HasTraitInfo<SelectableInfo>() && var selectableActor = World.ScreenMap.ActorsAt(mousePos).Any(x =>
(x.Owner.IsAlliedWith(World.RenderPlayer) || !World.FogObscures(x))) && !mi.Modifiers.HasModifier(Modifiers.Ctrl) && x.Info.HasTraitInfo<SelectableInfo>() && (x.Owner.IsAlliedWith(World.RenderPlayer) || !World.FogObscures(x)));
!mi.Modifiers.HasModifier(Modifiers.Alt) && UnitOrderGenerator.InputOverridesSelection(World, mousePos, mi)))
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 // Order units instead of selecting
ApplyOrders(World, mi); ApplyOrders(World, mi);