Don't show a selection cursor over targetable but unselectable actors

This commit is contained in:
Paul Chote
2011-07-27 02:08:55 +12:00
parent aa2ae95ce1
commit 7e3cfd7ee9

View File

@@ -19,7 +19,6 @@ namespace OpenRA.Orders
{ {
public IEnumerable<Order> Order( World world, int2 xy, MouseInput mi ) public IEnumerable<Order> Order( World world, int2 xy, MouseInput mi )
{ {
var underCursor = world.FindUnitsAtMouse(mi.Location) var underCursor = world.FindUnitsAtMouse(mi.Location)
.Where(a => a.HasTrait<ITargetable>()) .Where(a => a.HasTrait<ITargetable>())
.OrderByDescending( .OrderByDescending(
@@ -59,9 +58,8 @@ namespace OpenRA.Orders
.OrderByDescending(a => a.Info.Traits.Contains<SelectableInfo>() ? a.Info.Traits.Get<SelectableInfo>().Priority : int.MinValue) .OrderByDescending(a => a.Info.Traits.Contains<SelectableInfo>() ? a.Info.Traits.Get<SelectableInfo>().Priority : int.MinValue)
.FirstOrDefault(); .FirstOrDefault();
if (mi.Modifiers.HasModifier(Modifiers.Shift) || !world.Selection.Actors.Any()) if (mi.Modifiers.HasModifier(Modifiers.Shift) || !world.Selection.Actors.Any())
if (underCursor != null) if (underCursor != null && underCursor.HasTrait<Selectable>())
useSelect = true; useSelect = true;
var orders = world.Selection.Actors var orders = world.Selection.Actors