From f74b1b6d2763de2ce91e9064ae25825abc141714 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 5 May 2011 22:24:49 +1200 Subject: [PATCH] Hook up Skirmish button --- OpenRA.Mods.Cnc/Widgets/CncMenuLogic.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/OpenRA.Mods.Cnc/Widgets/CncMenuLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncMenuLogic.cs index 062426a499..80eaf811b8 100755 --- a/OpenRA.Mods.Cnc/Widgets/CncMenuLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncMenuLogic.cs @@ -16,6 +16,7 @@ using OpenRA.Widgets; using System; using System.Drawing; using System.Linq; +using OpenRA.GameRules; namespace OpenRA.Mods.RA.Widgets.Delegates { @@ -36,6 +37,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates var mainMenu = widget.GetWidget("MAIN_MENU"); mainMenu.IsVisible = () => Menu == MenuType.Main; + mainMenu.GetWidget("SOLO_BUTTON").OnMouseUp = mi => { StartSkirmishGame(); return true; }; mainMenu.GetWidget("MULTIPLAYER_BUTTON").OnMouseUp = mi => { Menu = MenuType.Multiplayer; return true; }; mainMenu.GetWidget("SETTINGS_BUTTON").OnMouseUp = mi => { Menu = MenuType.Settings; return true; }; mainMenu.GetWidget("QUIT_BUTTON").OnMouseUp = mi => { Game.Exit(); return true; }; @@ -52,5 +54,18 @@ namespace OpenRA.Mods.RA.Widgets.Delegates settingsMenu.GetWidget("BACK_BUTTON").OnMouseUp = mi => { Menu = MenuType.Main; return true; }; } + + + void StartSkirmishGame() + { + var map = Game.modData.AvailableMaps.FirstOrDefault(m => m.Value.Selectable).Key; + + var settings = Game.Settings; + settings.Server.Name = "Skirmish Game"; + // TODO: we want to prevent binding a port altogether + settings.Server.ListenPort = 1234; + settings.Server.ExternalPort = 1234; + Game.CreateAndJoinServer(settings, map); + } } }