diff options
author | tpart <tpart120@proton.me> | 2024-06-26 12:25:09 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2024-06-26 12:26:32 +0200 |
commit | 5cfdd1ce41240b4b4ffff225cf8b70470f30f33d (patch) | |
tree | b861bfa005d70015028c8b006047945fcb87f045 /client/global.gd | |
parent | c126d3d3e84fe3b24b42afc7f68f05342988c8c9 (diff) | |
download | hurrycurry-5cfdd1ce41240b4b4ffff225cf8b70470f30f33d.tar hurrycurry-5cfdd1ce41240b4b4ffff225cf8b70470f30f33d.tar.bz2 hurrycurry-5cfdd1ce41240b4b4ffff225cf8b70470f30f33d.tar.zst |
Refactor settings; Save character selection
Diffstat (limited to 'client/global.gd')
-rw-r--r-- | client/global.gd | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/client/global.gd b/client/global.gd index 02989b19..6d4cf4fc 100644 --- a/client/global.gd +++ b/client/global.gd @@ -1,21 +1,22 @@ extends Node +const DEFAULT_SETTINGS := { + "username": "Giovanni", + "character": 0 +} + +var settings := DEFAULT_SETTINGS.duplicate(true) + var server_url = "" var error_message = "" -var character = 1 -var username = "Giovanni" - func _ready(): load_profile() func save_profile(): print("Save profile") var f = FileAccess.open("user://profile", FileAccess.WRITE) - f.store_line(JSON.stringify({ - "username": username, - "character": character - })) + f.store_line(JSON.stringify(settings)) func load_profile(): # TOCTOU here. Godot docs says its fine. @@ -24,6 +25,9 @@ func load_profile(): return print("Load profile") var f = FileAccess.open("user://profile", FileAccess.READ) - var ob = JSON.parse_string(f.get_line()) - username = ob["username"] - character = ob["character"] + settings = JSON.parse_string(f.get_line()) + + # Add missing keys + for k in DEFAULT_SETTINGS.keys(): + if !settings.has(k): + settings[k] = DEFAULT_SETTINGS[k] |