aboutsummaryrefslogtreecommitdiff
path: root/client/global.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/global.gd')
-rw-r--r--client/global.gd27
1 files changed, 25 insertions, 2 deletions
diff --git a/client/global.gd b/client/global.gd
index 6584c1d9..4a985e38 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -24,7 +24,13 @@ signal using_joypad_change(using: bool)
var default_profile := {
"username": "Giovanni",
"character": 0,
- "last_server_url": ""
+ "last_server_url": "",
+ # HINTS:
+ "has_moved": false,
+ "has_boosted": false,
+ "has_interacted": false,
+ "has_rotated": false,
+ "has_reset": false
}
var languages := [tr("System default"), "en", "de"]
var using_joypad := false
@@ -202,7 +208,24 @@ func set_setting(key: String, value):
if !settings.has(key):
push_error("Tried to set setting \"%s\", which does not yet exist (missing key)" % key)
return
- settings[key].set_value(value)
+ if get_setting(value) != value:
+ settings[key].set_value(value)
+ save_settings()
+
+func get_profile(key: String):
+ if profile.has(key):
+ return profile[key]
+ else:
+ push_error("Tried to access profile setting \"%s\", which does not exist (missing key)" % key)
+ return null
+
+func set_profile(key: String, value):
+ if !profile.has(key):
+ push_error("Tried to set profile setting \"%s\", which does not yet exist (missing key)" % key)
+ return
+ if profile[key] != value:
+ profile[key] = value
+ save_profile()
static func interpolate(current, target, dt):
return target + (current - target) * exp(-dt)