Moved footprint info onto its building.

This commit is contained in:
Bob
2009-10-20 23:55:57 +13:00
parent 6c0ced3e9a
commit cfa56a791d
16 changed files with 607 additions and 385 deletions

View File

@@ -10,41 +10,34 @@ namespace OpenRa.Game
PlaceBuilding building;
int2 xy;
public PlaceBuildingOrder(PlaceBuilding building, int2 xy)
public PlaceBuildingOrder( PlaceBuilding building, int2 xy )
{
this.building = building;
this.xy = xy;
}
public override void Apply(bool leftMouseButton)
public override void Apply( bool leftMouseButton )
{
if (leftMouseButton)
if( leftMouseButton )
{
Game.world.AddFrameEndTask(_ =>
Game.world.AddFrameEndTask( _ =>
{
Log.Write("Player \"{0}\" builds {1}", building.Owner.PlayerName, building.Name);
Log.Write( "Player \"{0}\" builds {1}", building.Owner.PlayerName, building.Name );
//Adjust placement for cursor to be in middle
var footprint = Rules.Footprint.GetFootprint(building.Name);
int maxWidth = 0;
foreach (var row in footprint)
if (row.Length > maxWidth)
maxWidth = row.Length;
Game.world.Add(new Actor(building.Name,
xy - new int2(maxWidth / 2, footprint.Length / 2), building.Owner));
Game.world.Add( new Actor( building.Name, xy - GameRules.Footprint.AdjustForBuildingSize( building.Name ), building.Owner ) );
Game.controller.orderGenerator = null;
Game.worldRenderer.uiOverlay.KillOverlay();
});
} );
}
else
{
Game.world.AddFrameEndTask(_ =>
Game.world.AddFrameEndTask( _ =>
{
Game.controller.orderGenerator = null;
Game.worldRenderer.uiOverlay.KillOverlay();
});
} );
}
}
}