Nit: use ServerSettings to pass info to the server

This commit is contained in:
Paul Chote
2011-05-13 10:20:03 +12:00
parent f4ea4c5daa
commit 529ed51034
7 changed files with 47 additions and 30 deletions

View File

@@ -11,6 +11,7 @@
using System.Linq;
using System.Net;
using OpenRA.Widgets;
using OpenRA.GameRules;
namespace OpenRA.Mods.RA.Widgets.Delegates
{
@@ -27,14 +28,14 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
};
cs.GetWidget("BUTTON_START").OnMouseUp = mi => {
var map = Game.modData.AvailableMaps.FirstOrDefault(m => m.Value.Selectable).Key;
settings.Server.Name = cs.GetWidget<TextFieldWidget>("GAME_TITLE").Text;
settings.Server.ListenPort = int.Parse(cs.GetWidget<TextFieldWidget>("LISTEN_PORT").Text);
settings.Server.ExternalPort = int.Parse(cs.GetWidget<TextFieldWidget>("EXTERNAL_PORT").Text);
settings.Server.Map = Game.modData.AvailableMaps.FirstOrDefault(m => m.Value.Selectable).Key;
settings.Save();
Game.CreateServer(settings.Server.Name, map,settings.Server.ListenPort, settings.Server.AdvertiseOnline, settings.Server.ExternalPort);
// Take a copy so that subsequent settings changes don't affect the server
Game.CreateServer(new ServerSettings(Game.Settings.Server));
Game.JoinServer(IPAddress.Loopback.ToString(), settings.Server.ListenPort);
return true;
};