significant improvements to server selector

This commit is contained in:
Mikhail
2025-04-09 16:28:28 -04:00
parent 2709e67b6c
commit 56b7ffc4bd
5 changed files with 232 additions and 97 deletions

View File

@@ -0,0 +1,51 @@
using System;
using System.IO;
using System.Text.Json;
namespace ServerSelector
{
public class GameSettings
{
private static GameSettings? _settings;
public string GameRoot { get; set; } = "C:\\Nikke";
public string LastIp { get; set; } = "127.0.0.1";
public int LastOffset { get; set; }
public static GameSettings Settings
{
get
{
if (_settings != null)
return _settings;
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "serverselectorsettings.json");
try
{
if (File.Exists(path))
{
string json = File.ReadAllText(path);
_settings = JsonSerializer.Deserialize<GameSettings>(json);
}
}
catch
{
}
if (_settings == null)
{
_settings = new();
}
return _settings;
}
}
public static void Save()
{
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "serverselectorsettings.json");
File.WriteAllText(path, JsonSerializer.Serialize(_settings));
}
}
}