From ac10c987ac0ecc994dac1f9e23f5661ba596aadf Mon Sep 17 00:00:00 2001 From: Rich Dunne Date: Sun, 6 Sep 2020 14:28:45 -0600 Subject: [PATCH] Added State and SpeedUnits enums to the class. Added code to save settings from the settings menu to plugin's .ini file --- SceneManager/Settings.cs | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/SceneManager/Settings.cs b/SceneManager/Settings.cs index 9c511ea..4c6a9c4 100644 --- a/SceneManager/Settings.cs +++ b/SceneManager/Settings.cs @@ -3,26 +3,57 @@ using System.Windows.Forms; namespace SceneManager { + public enum State + { + Uninitialized, + Creating, + Finished + } + + public enum SpeedUnits + { + MPH, + KPH + } + internal static class Settings { + internal static readonly InitializationFile ini = new InitializationFile("Plugins/SceneManager.ini"); + internal static Keys ToggleKey = Keys.T; internal static Keys ModifierKey = Keys.LShiftKey; internal static ControllerButtons ToggleButton = ControllerButtons.Y; internal static ControllerButtons ModifierButton = ControllerButtons.A; + internal static bool Enable3DWaypoints = true; + internal static bool EnableMapBlips = true; internal static bool EnableHints = true; + internal static SpeedUnits SpeedUnit = SpeedUnits.MPH; + internal static float BarrierPlacementDistance = 30f; internal static Object[] barriers; internal static void LoadSettings() { Game.LogTrivial("Loading SceneManager.ini settings"); - InitializationFile ini = new InitializationFile("Plugins/SceneManager.ini"); + //InitializationFile ini = new InitializationFile("Plugins/SceneManager.ini"); ini.Create(); ToggleKey = ini.ReadEnum("Keybindings", "ToggleKey", Keys.T); ModifierKey = ini.ReadEnum("Keybindings", "ModifierKey", Keys.LShiftKey); ToggleButton = ini.ReadEnum("Keybindings", "ToggleButton", ControllerButtons.A); ModifierButton = ini.ReadEnum("Keybindings", "ModifierButton", ControllerButtons.DPadDown); + Enable3DWaypoints = ini.ReadBoolean("Other Settings", "Enable3DWaypoints", true); + EnableMapBlips = ini.ReadBoolean("Other Settings", "EnableMapBlips", true); EnableHints = ini.ReadBoolean("Other Settings", "EnableHints", true); + SpeedUnit = ini.ReadEnum("Other Settings", "SpeedUnits", SpeedUnits.MPH); + BarrierPlacementDistance = ini.ReadInt32("Other Settings", "BarrierPlacementDistance", 30); + } + + internal static void UpdateSettings(bool threeDWaypointsEnabled, bool mapBlipsEnabled, bool hintsEnabled, SpeedUnits unit, float distance) + { + ini.Write("Other Settings", "Enable3DWaypoints", threeDWaypointsEnabled); + ini.Write("Other Settings", "EnableMapBlips", mapBlipsEnabled); + ini.Write("Other Settings", "EnableHints", hintsEnabled); + ini.Write("Other Settings", "SpeedUnits", unit); } } }