IOrderGenerator can produce multiple orders (or none)

This commit is contained in:
Bob
2009-10-09 23:02:54 +13:00
parent f8309b79f4
commit a08bcd9a17
4 changed files with 12 additions and 14 deletions

View File

@@ -97,17 +97,17 @@ namespace OpenRa.Game
return false;
}
public Order Order( Game game, int2 xy )
public IEnumerable<Order> Order( Game game, int2 xy )
{
if( ( fromCell == toCell || moveFraction == 0 ) && fromCell == xy )
{
if( SupportsMission( SupportedMissions.Deploy ) )
return new DeployMcvOrder( this );
yield return new DeployMcvOrder( this );
if( SupportsMission( SupportedMissions.Harvest ) )
return new HarvestOrder( this );
yield return new HarvestOrder( this );
}
return new MoveOrder( this, xy );
else
yield return new MoveOrder( this, xy );
}
public void PrepareOverlay(Game game, int2 xy) { }