@@ -20,7 +20,7 @@ public partial class SettingsManager : Node
20
20
public override void _EnterTree ( )
21
21
{
22
22
Instance = this ;
23
-
23
+
24
24
Load ( ) ;
25
25
}
26
26
@@ -36,15 +36,16 @@ public void Load()
36
36
using var settingsFile = FileAccess . Open ( SettingsPath , FileAccess . ModeFlags . Read ) ;
37
37
var settingsFileContent = settingsFile . GetAsText ( ) ;
38
38
39
- Settings = JsonSerializer . Deserialize < SettingsFile > ( settingsFileContent ) ;
40
-
39
+ Settings = JsonSerializer . Deserialize < SettingsFile > ( settingsFileContent , DefaultSerializerOptions ) ;
40
+
41
41
// Failsafe if settings file is corrupt
42
42
if ( Settings == null )
43
43
{
44
44
Settings = new SettingsFile ( ) ;
45
45
IsDirty = true ;
46
46
}
47
47
}
48
+
48
49
if ( ! FileAccess . FileExists ( SettingsPath ) )
49
50
{
50
51
Devices = new List < SteamOSDevkitManager . Device > ( ) ;
@@ -55,8 +56,8 @@ public void Load()
55
56
using var devicesFile = FileAccess . Open ( DevicesPath , FileAccess . ModeFlags . Read ) ;
56
57
var devicesFileContent = devicesFile . GetAsText ( ) ;
57
58
58
- Devices = JsonSerializer . Deserialize < List < SteamOSDevkitManager . Device > > ( devicesFileContent ) ;
59
-
59
+ Devices = JsonSerializer . Deserialize < List < SteamOSDevkitManager . Device > > ( devicesFileContent , DefaultSerializerOptions ) ;
60
+
60
61
// Failsafe if device file is corrupt
61
62
if ( Devices == null )
62
63
{
@@ -79,17 +80,22 @@ public void Save()
79
80
{
80
81
DirAccess . MakeDirRecursiveAbsolute ( FolderPath ) ;
81
82
}
82
-
83
+
83
84
// Save Settings
84
85
var jsonSettings = JsonSerializer . Serialize ( Settings ) ;
85
86
using var settingsFile = FileAccess . Open ( SettingsPath , FileAccess . ModeFlags . Write ) ;
86
87
settingsFile . StoreString ( jsonSettings ) ;
87
-
88
+
88
89
// Save Devices
89
90
var jsonDevices = JsonSerializer . Serialize ( Devices ) ;
90
91
using var devicesFile = FileAccess . Open ( DevicesPath , FileAccess . ModeFlags . Write ) ;
91
92
devicesFile . StoreString ( jsonDevices ) ;
92
93
93
94
IsDirty = false ;
94
95
}
96
+
97
+ public static readonly JsonSerializerOptions DefaultSerializerOptions = new JsonSerializerOptions
98
+ {
99
+ PropertyNameCaseInsensitive = true ,
100
+ } ;
95
101
}
0 commit comments