fix: SettingsManager null guard, ui_ filter, double cast for sensitivity/deadzone
This commit is contained in:
@@ -42,6 +42,12 @@ public partial class SettingsManager : Node
|
|||||||
{
|
{
|
||||||
Instance = this;
|
Instance = this;
|
||||||
|
|
||||||
|
if (ConfigFileHandler.Instance == null)
|
||||||
|
{
|
||||||
|
GD.PushError("SettingsManager: ConfigFileHandler.Instance is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var cfg = ConfigFileHandler.Instance.SettingsConfig;
|
var cfg = ConfigFileHandler.Instance.SettingsConfig;
|
||||||
|
|
||||||
// --- display_settings ---
|
// --- display_settings ---
|
||||||
@@ -98,8 +104,8 @@ public partial class SettingsManager : Node
|
|||||||
public void SaveGameplaySettings()
|
public void SaveGameplaySettings()
|
||||||
{
|
{
|
||||||
var cfg = ConfigFileHandler.Instance.SettingsConfig;
|
var cfg = ConfigFileHandler.Instance.SettingsConfig;
|
||||||
cfg.SetValue("gameplay_settings", "gamepad_deadzone", GamepadDeadzone);
|
cfg.SetValue("gameplay_settings", "gamepad_deadzone", (double)GamepadDeadzone);
|
||||||
cfg.SetValue("gameplay_settings", "gamepad_sensitivity", GamepadSensitivity);
|
cfg.SetValue("gameplay_settings", "gamepad_sensitivity", (double)GamepadSensitivity);
|
||||||
cfg.Save(ConfigFileHandler.SettingsPath);
|
cfg.Save(ConfigFileHandler.SettingsPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,6 +114,7 @@ public partial class SettingsManager : Node
|
|||||||
var cfg = ConfigFileHandler.Instance.SettingsConfig;
|
var cfg = ConfigFileHandler.Instance.SettingsConfig;
|
||||||
foreach (var action in InputMap.GetActions())
|
foreach (var action in InputMap.GetActions())
|
||||||
{
|
{
|
||||||
|
if (action.ToString().StartsWith("ui_")) continue;
|
||||||
foreach (var ev in InputMap.ActionGetEvents(action))
|
foreach (var ev in InputMap.ActionGetEvents(action))
|
||||||
{
|
{
|
||||||
if (ev is InputEventKey key)
|
if (ev is InputEventKey key)
|
||||||
@@ -157,6 +164,7 @@ public partial class SettingsManager : Node
|
|||||||
|
|
||||||
foreach (var actionName in cfg.GetSectionKeys("input_settings"))
|
foreach (var actionName in cfg.GetSectionKeys("input_settings"))
|
||||||
{
|
{
|
||||||
|
if (actionName.StartsWith("ui_")) continue;
|
||||||
if (!InputMap.HasAction(actionName)) continue;
|
if (!InputMap.HasAction(actionName)) continue;
|
||||||
|
|
||||||
var scancode = (Key)(long)cfg.GetValue("input_settings", actionName);
|
var scancode = (Key)(long)cfg.GetValue("input_settings", actionName);
|
||||||
|
|||||||
Reference in New Issue
Block a user