diff --git a/Autoloads/SettingsManager.cs b/Autoloads/SettingsManager.cs index 93c7722..867970b 100644 --- a/Autoloads/SettingsManager.cs +++ b/Autoloads/SettingsManager.cs @@ -42,6 +42,12 @@ public partial class SettingsManager : Node { Instance = this; + if (ConfigFileHandler.Instance == null) + { + GD.PushError("SettingsManager: ConfigFileHandler.Instance is null"); + return; + } + var cfg = ConfigFileHandler.Instance.SettingsConfig; // --- display_settings --- @@ -98,8 +104,8 @@ public partial class SettingsManager : Node public void SaveGameplaySettings() { var cfg = ConfigFileHandler.Instance.SettingsConfig; - cfg.SetValue("gameplay_settings", "gamepad_deadzone", GamepadDeadzone); - cfg.SetValue("gameplay_settings", "gamepad_sensitivity", GamepadSensitivity); + cfg.SetValue("gameplay_settings", "gamepad_deadzone", (double)GamepadDeadzone); + cfg.SetValue("gameplay_settings", "gamepad_sensitivity", (double)GamepadSensitivity); cfg.Save(ConfigFileHandler.SettingsPath); } @@ -108,6 +114,7 @@ public partial class SettingsManager : Node var cfg = ConfigFileHandler.Instance.SettingsConfig; foreach (var action in InputMap.GetActions()) { + if (action.ToString().StartsWith("ui_")) continue; foreach (var ev in InputMap.ActionGetEvents(action)) { if (ev is InputEventKey key) @@ -157,6 +164,7 @@ public partial class SettingsManager : Node foreach (var actionName in cfg.GetSectionKeys("input_settings")) { + if (actionName.StartsWith("ui_")) continue; if (!InputMap.HasAction(actionName)) continue; var scancode = (Key)(long)cfg.GetValue("input_settings", actionName);