Move selectableActor check inside InputOverridesSelection.

This commit is contained in:
Paul Chote
2020-03-25 23:55:29 +00:00
committed by reaperrr
parent e2572b214f
commit 2c7a56625c
2 changed files with 7 additions and 13 deletions

View File

@@ -96,7 +96,7 @@ namespace OpenRA.Orders
public virtual bool InputOverridesSelection(World world, int2 xy, MouseInput mi) public virtual bool InputOverridesSelection(World world, int2 xy, MouseInput mi)
{ {
var actor = world.ScreenMap.ActorsAtMouse(xy) var actor = world.ScreenMap.ActorsAtMouse(xy)
.Where(a => !a.Actor.IsDead) .Where(a => !a.Actor.IsDead && a.Actor.Info.HasTraitInfo<ISelectableInfo>() && (a.Actor.Owner.IsAlliedWith(world.RenderPlayer) || !world.FogObscures(a.Actor)))
.WithHighestSelectionPriority(xy, mi.Modifiers); .WithHighestSelectionPriority(xy, mi.Modifiers);
if (actor == null) if (actor == null)

View File

@@ -117,12 +117,7 @@ namespace OpenRA.Mods.Common.Widgets
{ {
if (useClassicMouseStyle && HasMouseFocus) if (useClassicMouseStyle && HasMouseFocus)
{ {
if (!IsValidDragbox && World.Selection.Actors.Any() && !multiClick) if (!IsValidDragbox && World.Selection.Actors.Any() && !multiClick && uog.InputOverridesSelection(World, mousePos, mi))
{
var selectableActor = World.ScreenMap.ActorsAtMouse(mousePos).Select(a => a.Actor).Any(x =>
x.Info.HasTraitInfo<ISelectableInfo>() && (x.Owner.IsAlliedWith(World.RenderPlayer) || !World.FogObscures(x)));
if (!selectableActor || uog.InputOverridesSelection(World, mousePos, mi))
{ {
// Order units instead of selecting // Order units instead of selecting
ApplyOrders(World, mi); ApplyOrders(World, mi);
@@ -131,7 +126,6 @@ namespace OpenRA.Mods.Common.Widgets
return true; return true;
} }
} }
}
if (multiClick) if (multiClick)
{ {