aboutsummaryrefslogtreecommitdiff
path: root/client/global.gd
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-06-26 12:25:09 +0200
committertpart <tpart120@proton.me>2024-06-26 12:26:32 +0200
commit5cfdd1ce41240b4b4ffff225cf8b70470f30f33d (patch)
treeb861bfa005d70015028c8b006047945fcb87f045 /client/global.gd
parentc126d3d3e84fe3b24b42afc7f68f05342988c8c9 (diff)
downloadhurrycurry-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.gd24
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]