Port production palette from ui2 branch. Needs reworking. Unfinished.

This commit is contained in:
Paul Chote
2011-07-02 07:32:27 +12:00
parent dba77daae0
commit d5e63538ad
6 changed files with 460 additions and 37 deletions

View File

@@ -12,6 +12,7 @@ using System.Drawing;
using System.Linq;
using OpenRA.Traits;
using OpenRA.Widgets;
using OpenRA.Mods.RA;
namespace OpenRA.Mods.Cnc.Widgets.Logic
{
@@ -33,6 +34,13 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
Game.BeforeGameStart -= UnregisterEvents;
}
ProductionQueue QueueForType(World world, string type)
{
return world.ActorsWithTrait<ProductionQueue>()
.Where(p => p.Actor.Owner == world.LocalPlayer)
.Select(p => p.Trait).FirstOrDefault(p => p.Info.Type == type);
}
[ObjectCreator.UseCtor]
public CncIngameChromeLogic([ObjectCreator.Param] Widget widget,
[ObjectCreator.Param] World world )
@@ -54,6 +62,15 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
var playerResources = world.LocalPlayer.PlayerActor.Trait<PlayerResources>();
sidebarRoot.GetWidget<LabelWidget>("CASH_DISPLAY").GetText = () =>
"${0}".F(playerResources.DisplayCash + playerResources.DisplayOre);
var buildPalette = playerWidgets.GetWidget<ProductionPaletteWidget>("PRODUCTION_PALETTE");
var queueTabs = playerWidgets.GetWidget<ProductionTabsWidget>("PRODUCTION_TABS");
var queueTypes = sidebarRoot.GetWidget("PRODUCTION_TYPES");
queueTypes.GetWidget<ButtonWidget>("BUILDING").OnClick = () => queueTabs.QueueType = "Building";
queueTypes.GetWidget<ButtonWidget>("DEFENSE").OnClick = () => queueTabs.QueueType = "Defense";
queueTypes.GetWidget<ButtonWidget>("INFANTRY").OnClick = () => queueTabs.QueueType = "Infantry";
queueTypes.GetWidget<ButtonWidget>("VEHICLE").OnClick = () => queueTabs.QueueType = "Vehicle";
queueTypes.GetWidget<ButtonWidget>("AIRCRAFT").OnClick = () => queueTabs.QueueType = "Aircraft";
}
ingameRoot.GetWidget<ButtonWidget>("OPTIONS_BUTTON").OnClick = () =>
{