diff --git a/OpenRA.Mods.Cnc/Widgets/Logic/CncMenuLogic.cs b/OpenRA.Mods.Cnc/Widgets/Logic/CncMenuLogic.cs index 964a809c34..93a927c1ca 100644 --- a/OpenRA.Mods.Cnc/Widgets/Logic/CncMenuLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/Logic/CncMenuLogic.cs @@ -10,6 +10,7 @@ using System.Linq; using System.Net; +using OpenRA.FileFormats; using OpenRA.Widgets; namespace OpenRA.Mods.Cnc.Widgets.Logic @@ -24,6 +25,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic None } MenuType Menu = MenuType.Main; + Widget rootMenu; [ObjectCreator.UseCtor] public CncMenuLogic([ObjectCreator.Param] Widget widget, @@ -31,8 +33,11 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic { world.WorldActor.Trait() .Fade(CncMenuPaletteEffect.EffectType.Desaturated); + + rootMenu = widget.GetWidget("MENU_BACKGROUND"); + rootMenu.GetWidget("VERSION_LABEL").GetText = ActiveModVersion; - // Root level menu + // Menu buttons var mainMenu = widget.GetWidget("MAIN_MENU"); mainMenu.IsVisible = () => Menu == MenuType.Main; @@ -121,13 +126,18 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic }; settingsMenu.GetWidget("BACK_BUTTON").OnClick = () => Menu = MenuType.Main; - widget.GetWidget("RECBLOCK").IsVisible = () => world.FrameNumber / 25 % 2 == 0; + rootMenu.GetWidget("RECBLOCK").IsVisible = () => world.FrameNumber / 25 % 2 == 0; + } + + static string ActiveModVersion() + { + var mod = Game.modData.Manifest.Mods[0]; + return Mod.AllMods[mod].Version; } void RemoveShellmapUI() { - var root = Widget.RootWidget.GetWidget("MENU_BACKGROUND"); - root.Parent.RemoveChild(root); + rootMenu.Parent.RemoveChild(rootMenu); } void OpenLobbyPanel(MenuType menu) diff --git a/mods/cnc/chrome/mainmenu.yaml b/mods/cnc/chrome/mainmenu.yaml index 2343fe39a4..1b88ba641b 100644 --- a/mods/cnc/chrome/mainmenu.yaml +++ b/mods/cnc/chrome/mainmenu.yaml @@ -32,6 +32,13 @@ Container@MENU_BACKGROUND: Height:64 ImageCollection:logos ImageName:eva + Label@VERSION_LABEL: + Id:VERSION_LABEL + X:WINDOW_RIGHT-128-43 + Y:115 + Width:128 + Align:Center + Contrast:true Background@BORDER: Width:WINDOW_RIGHT Height:WINDOW_BOTTOM