public ExternalOverlay(GameController gameController, Func<bool> gameEnded) { settings = SettingsHub.Load(); this.gameController = gameController; this.gameEnded = gameEnded; gameHandle = gameController.Window.Process.MainWindowHandle; SuspendLayout(); Text = MathHepler.GetRandomWord(MathHepler.Randomizer.Next(7) + 5); TransparencyKey = Color.Transparent; BackColor = Color.Black; FormBorderStyle = FormBorderStyle.None; ShowIcon = false; TopMost = true; ResumeLayout(false); Load += OnLoad; }
public static void Save(SettingsHub settings) { using (var stream = new StreamWriter(File.Create(SETTINGS_FILE_NAME))) { string json = JsonConvert.SerializeObject(settings, Formatting.Indented, jsonSettings); stream.Write(json); } }
//[JsonProperty("ItemCounter")] //public ItemCounterSettings ItemCounterSettings { get; private set; } public static SettingsHub Load() { try { string json = File.ReadAllText(SETTINGS_FILE_NAME); return JsonConvert.DeserializeObject<SettingsHub>(json, jsonSettings); } catch { if (File.Exists(SETTINGS_FILE_NAME)) { string backupFileName = SETTINGS_FILE_NAME + DateTime.Now.Ticks; File.Move(SETTINGS_FILE_NAME, backupFileName); } var settings = new SettingsHub(); Save(settings); return settings; } }