From fc327fd074e408f17452aebd6210ff0a46a6db23 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 16 Apr 2010 18:39:43 +1200 Subject: [PATCH] fix automatic tab selection --- OpenRA.Game/Traits/World/ChoosePaletteOnSelect.cs | 4 +++- OpenRA.Game/Widgets/BuildPaletteWidget.cs | 12 +++++++----- mods/cnc/menus.yaml | 6 ++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/OpenRA.Game/Traits/World/ChoosePaletteOnSelect.cs b/OpenRA.Game/Traits/World/ChoosePaletteOnSelect.cs index 097b4bf635..f919d2cc0d 100644 --- a/OpenRA.Game/Traits/World/ChoosePaletteOnSelect.cs +++ b/OpenRA.Game/Traits/World/ChoosePaletteOnSelect.cs @@ -19,6 +19,7 @@ #endregion using System.Linq; +using OpenRA.Widgets; namespace OpenRA.Traits { @@ -38,7 +39,8 @@ namespace OpenRA.Traits if (produces == null) return; - //Game.chrome.SetCurrentTab(produces); + Chrome.rootWidget.GetWidget("INGAME_BUILD_PALETTE") + .SetCurrentTab(produces); } } } diff --git a/OpenRA.Game/Widgets/BuildPaletteWidget.cs b/OpenRA.Game/Widgets/BuildPaletteWidget.cs index d2c26f20ca..debcc09a83 100644 --- a/OpenRA.Game/Widgets/BuildPaletteWidget.cs +++ b/OpenRA.Game/Widgets/BuildPaletteWidget.cs @@ -80,11 +80,13 @@ namespace OpenRA.Widgets public override void Tick(World world) { visibleTabs.Clear(); - foreach (var q in tabImageNames) - if (!Rules.TechTree.BuildableItems(world.LocalPlayer, q.Key).Any()) - if (currentTab == q.Key) - currentTab = null; - else + foreach (var q in tabImageNames) + if (!Rules.TechTree.BuildableItems(world.LocalPlayer, q.Key).Any()) + { + if (currentTab == q.Key) + currentTab = null; + } + else visibleTabs.Add(q.Key); if (currentTab == null) diff --git a/mods/cnc/menus.yaml b/mods/cnc/menus.yaml index 591a4859e4..3c4b789b79 100644 --- a/mods/cnc/menus.yaml +++ b/mods/cnc/menus.yaml @@ -308,6 +308,12 @@ Container: Id:INGAME_POWERS_BIN X:0 Y:25 + BuildPalette@INGAME_BUILD_PALETTE: + Id:INGAME_BUILD_PALETTE + X:WINDOW_RIGHT - 250 + Y:280 + Width:250 + Height:500 Button@INGAME_OPTIONS_BUTTON: Id:INGAME_OPTIONS_BUTTON X:0