Change cursor according to the command with highest priority.

This commit is contained in:
Jan-Willem Buurlage
2015-02-08 22:38:05 +01:00
parent ce6c883fb1
commit 7eb2106375

View File

@@ -79,12 +79,13 @@ namespace OpenRA.Orders
target = frozen != null ? Target.FromFrozenActor(frozen) : Target.FromCell(world, xy);
}
var orders = world.Selection.Actors
var ordersWithCursor = world.Selection.Actors
.Select(a => OrderForUnit(a, target, mi))
.Where(o => o != null);
.Where(o => o != null && o.Cursor != null);
var cursorName = orders.Select(o => o.Cursor).FirstOrDefault();
return cursorName ?? (useSelect ? "select" : "default");
var cursorOrder = ordersWithCursor.MaxByOrDefault(o => o.Order.OrderPriority);
return cursorOrder != null ? cursorOrder.Cursor : (useSelect ? "select" : "default");
}
static UnitOrderResult OrderForUnit(Actor self, Target target, MouseInput mi)