Skip to content

Commit 42c99ec

Browse files
committed
improved validation
1 parent a7779d7 commit 42c99ec

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

Basis/Packages/com.basis.framework/Players/Common/BasisPlayerSettingsManager.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,27 +56,33 @@ public static async Task<BasisPlayerSettingsData> RequestPlayerSettings(string u
5656
{
5757
var json = await File.ReadAllTextAsync(path);
5858

59-
data = default;
59+
BasisPlayerSettingsData loaded = default;
60+
bool valid = false;
6061
if (!string.IsNullOrWhiteSpace(json))
6162
{
6263
try
6364
{
64-
data = JsonUtility.FromJson<BasisPlayerSettingsData>(json);
65+
loaded = JsonUtility.FromJson<BasisPlayerSettingsData>(json);
66+
valid = loaded.Version != 0;
6567
}
6668
catch (Exception e)
6769
{
6870
BasisDebug.LogWarning($"Player settings at {path} were unreadable ({e.Message}); resetting to defaults.");
6971
}
7072
}
7173

72-
if (data.Version == 0)
74+
if (valid)
7375
{
74-
data = CreateDefaults(uuid);
75-
await SaveInternal(path, data);
76+
data = loaded;
77+
if (string.IsNullOrEmpty(data.UUID))
78+
{
79+
data.UUID = uuid;
80+
}
7681
}
77-
else if (string.IsNullOrEmpty(data.UUID))
82+
else
7883
{
79-
data.UUID = uuid;
84+
data = CreateDefaults(uuid);
85+
await SaveInternal(path, data);
8086
}
8187
}
8288

0 commit comments

Comments
 (0)