mod UOG to create a group from all actors that generate orders together for a ui action
This commit is contained in:
@@ -30,12 +30,18 @@ namespace OpenRA.Orders
|
|||||||
{
|
{
|
||||||
public IEnumerable<Order> Order( World world, int2 xy, MouseInput mi )
|
public IEnumerable<Order> Order( World world, int2 xy, MouseInput mi )
|
||||||
{
|
{
|
||||||
foreach( var unit in Game.controller.selection.Actors )
|
var orders = Game.controller.selection.Actors
|
||||||
{
|
.Select(a => a.Order(xy, mi))
|
||||||
var ret = unit.Order( xy, mi );
|
.Where(o => o != null)
|
||||||
if( ret != null )
|
.ToArray();
|
||||||
yield return ret;
|
|
||||||
}
|
var actorsInvolved = orders.Select(o => o.TargetActor).Distinct();
|
||||||
|
if (actorsInvolved.Any())
|
||||||
|
yield return new Order("CreateGroup", actorsInvolved.First().Owner.PlayerActor,
|
||||||
|
string.Join(",", actorsInvolved.Select(a => a.ActorID.ToString()).ToArray()));
|
||||||
|
|
||||||
|
foreach (var o in orders)
|
||||||
|
yield return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Tick( World world ) {}
|
public void Tick( World world ) {}
|
||||||
|
|||||||
Reference in New Issue
Block a user