From 4e7e6ef60e65ec73be8adf5a10655bcd44607a0b Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 12 Jan 2018 14:45:01 +0200 Subject: [PATCH] Client name is saved in config.xml (no need to re-enter every time you start the game). Closes #224 --- .../Source/Screens/ServerListScreen.cs | 4 ++- .../BarotraumaShared/Source/GameSettings.cs | 28 ++++++++++++++++--- Barotrauma/BarotraumaShared/config.xml | 1 + 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs index fdbdad92b..7390f1c62 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/ServerListScreen.cs @@ -61,6 +61,7 @@ namespace Barotrauma new GUITextBlock(new Rectangle(0, 30, 0, 30), TextManager.Get("YourName"), "", menu); clientNameBox = new GUITextBox(new Rectangle(0, 60, 200, 30), "", menu); + clientNameBox.Text = GameMain.Config.DefaultPlayerName; new GUITextBlock(new Rectangle(0, 100, 0, 30), TextManager.Get("ServerIP"), "", menu); ipBox = new GUITextBox(new Rectangle(0, 130, 200, 30), "", menu); @@ -348,6 +349,8 @@ namespace Barotrauma return false; } + GameMain.Config.DefaultPlayerName = clientNameBox.Text; + string ip = ipBox.Text; if (string.IsNullOrWhiteSpace(ip)) @@ -358,7 +361,6 @@ namespace Barotrauma CoroutineManager.StartCoroutine(ConnectToServer(ip)); - return true; } diff --git a/Barotrauma/BarotraumaShared/Source/GameSettings.cs b/Barotrauma/BarotraumaShared/Source/GameSettings.cs index a7d0aeb45..875ecd6ec 100644 --- a/Barotrauma/BarotraumaShared/Source/GameSettings.cs +++ b/Barotrauma/BarotraumaShared/Source/GameSettings.cs @@ -105,6 +105,23 @@ namespace Barotrauma public bool AutoCheckUpdates { get; set; } public bool WasGameUpdated { get; set; } + private string defaultPlayerName; + public string DefaultPlayerName + { + get + { + return defaultPlayerName; + } + set + { + if (defaultPlayerName != value) + { + defaultPlayerName = value; + Save("config.xml"); + } + } + } + public static bool VerboseLogging { get; set; } public GameSettings(string filePath) @@ -217,6 +234,9 @@ namespace Barotrauma JobNamePreferences.Add(ele.GetAttributeString("name", "")); } break; + case "player": + defaultPlayerName = subElement.GetAttributeString("name", ""); + break; } } @@ -310,21 +330,21 @@ namespace Barotrauma { keyMappingElement.Add(new XAttribute(((InputType)i).ToString(), keyMapping[i].MouseButton)); } - - } var gameplay = new XElement("gameplay"); - var jobPreferences = new XElement("jobpreferences"); foreach (string jobName in JobNamePreferences) { jobPreferences.Add(new XElement("job", new XAttribute("name", jobName))); } - gameplay.Add(jobPreferences); doc.Root.Add(gameplay); + var playerElement = new XElement("player"); + playerElement.Add(new XAttribute("name", defaultPlayerName)); + doc.Root.Add(playerElement); + doc.Save(filePath); } diff --git a/Barotrauma/BarotraumaShared/config.xml b/Barotrauma/BarotraumaShared/config.xml index ec9028ff6..aaf6ef126 100644 --- a/Barotrauma/BarotraumaShared/config.xml +++ b/Barotrauma/BarotraumaShared/config.xml @@ -2,6 +2,7 @@ + />