aboutsummaryrefslogtreecommitdiff
path: root/client/global.gd
diff options
context:
space:
mode:
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]