Display cnc mod version in the main menu

This commit is contained in:
Paul Chote
2011-06-02 17:44:55 +12:00
parent 7fb46bb2b6
commit 568814b15a
2 changed files with 21 additions and 4 deletions

View File

@@ -10,6 +10,7 @@
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using OpenRA.FileFormats;
using OpenRA.Widgets; using OpenRA.Widgets;
namespace OpenRA.Mods.Cnc.Widgets.Logic namespace OpenRA.Mods.Cnc.Widgets.Logic
@@ -24,6 +25,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
None None
} }
MenuType Menu = MenuType.Main; MenuType Menu = MenuType.Main;
Widget rootMenu;
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public CncMenuLogic([ObjectCreator.Param] Widget widget, public CncMenuLogic([ObjectCreator.Param] Widget widget,
@@ -32,7 +34,10 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
world.WorldActor.Trait<CncMenuPaletteEffect>() world.WorldActor.Trait<CncMenuPaletteEffect>()
.Fade(CncMenuPaletteEffect.EffectType.Desaturated); .Fade(CncMenuPaletteEffect.EffectType.Desaturated);
// Root level menu rootMenu = widget.GetWidget("MENU_BACKGROUND");
rootMenu.GetWidget<LabelWidget>("VERSION_LABEL").GetText = ActiveModVersion;
// Menu buttons
var mainMenu = widget.GetWidget("MAIN_MENU"); var mainMenu = widget.GetWidget("MAIN_MENU");
mainMenu.IsVisible = () => Menu == MenuType.Main; mainMenu.IsVisible = () => Menu == MenuType.Main;
@@ -121,13 +126,18 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
}; };
settingsMenu.GetWidget<ButtonWidget>("BACK_BUTTON").OnClick = () => Menu = MenuType.Main; settingsMenu.GetWidget<ButtonWidget>("BACK_BUTTON").OnClick = () => Menu = MenuType.Main;
widget.GetWidget<ImageWidget>("RECBLOCK").IsVisible = () => world.FrameNumber / 25 % 2 == 0; rootMenu.GetWidget<ImageWidget>("RECBLOCK").IsVisible = () => world.FrameNumber / 25 % 2 == 0;
}
static string ActiveModVersion()
{
var mod = Game.modData.Manifest.Mods[0];
return Mod.AllMods[mod].Version;
} }
void RemoveShellmapUI() void RemoveShellmapUI()
{ {
var root = Widget.RootWidget.GetWidget("MENU_BACKGROUND"); rootMenu.Parent.RemoveChild(rootMenu);
root.Parent.RemoveChild(root);
} }
void OpenLobbyPanel(MenuType menu) void OpenLobbyPanel(MenuType menu)

View File

@@ -32,6 +32,13 @@ Container@MENU_BACKGROUND:
Height:64 Height:64
ImageCollection:logos ImageCollection:logos
ImageName:eva ImageName:eva
Label@VERSION_LABEL:
Id:VERSION_LABEL
X:WINDOW_RIGHT-128-43
Y:115
Width:128
Align:Center
Contrast:true
Background@BORDER: Background@BORDER:
Width:WINDOW_RIGHT Width:WINDOW_RIGHT
Height:WINDOW_BOTTOM Height:WINDOW_BOTTOM