production stuff: fixes #54

This commit is contained in:
Chris Forbes
2009-10-31 22:40:26 +13:00
parent cb518ba25d
commit 6cd9d468d3
2 changed files with 19 additions and 12 deletions

View File

@@ -162,19 +162,24 @@ namespace OpenRa.Game
if( mi.Button == MouseButtons.Left && mi.Event == MouseInputEvent.Down ) if( mi.Button == MouseButtons.Left && mi.Event == MouseInputEvent.Down )
{ {
string group = Rules.UnitCategory[ item.Tag ]; string group = Rules.UnitCategory[ item.Tag ];
if (player.Producing(group) == null) var producing = player.Producing(group);
{ if (producing == null)
var ui = Rules.UnitInfo[item.Tag]; {
var time = ui.Cost var ui = Rules.UnitInfo[item.Tag];
* .8f /* Game.BuildSpeed */ /* todo: country-specific build speed bonus */ var time = ui.Cost
* (25 * 60) /* frames per min */ /* todo: build acceleration, if we do that */ * .8f /* Game.BuildSpeed */ /* todo: country-specific build speed bonus */
/ 1000; * (25 * 60) /* frames per min */ /* todo: build acceleration, if we do that */
/ 1000;
player.BeginProduction( group, player.BeginProduction(group,
new ProductionItem( item.Tag, (int)time, ui.Cost ) ); new ProductionItem(item.Tag, (int)time, ui.Cost));
Build(item); //Build(item);
} }
else if (producing.Item == item.Tag)
{
Build(item);
}
} }
else if( mi.Button == MouseButtons.Right && mi.Event == MouseInputEvent.Down ) else if( mi.Button == MouseButtons.Right && mi.Event == MouseInputEvent.Down )
player.CancelProduction( Rules.UnitCategory[ item.Tag ] ); player.CancelProduction( Rules.UnitCategory[ item.Tag ] );

View File

@@ -62,6 +62,8 @@ namespace OpenRa.Game
Game.controller.orderGenerator = null; Game.controller.orderGenerator = null;
Game.worldRenderer.uiOverlay.KillOverlay(); Game.worldRenderer.uiOverlay.KillOverlay();
order.Player.FinishProduction(Rules.UnitCategory[building.Name]);
} ); } );
break; break;
} }