diff options
Diffstat (limited to 'client/global.gd')
| -rw-r--r-- | client/global.gd | 31 | 
1 files changed, 19 insertions, 12 deletions
| diff --git a/client/global.gd b/client/global.gd index 02989b19..a09f8696 100644 --- a/client/global.gd +++ b/client/global.gd @@ -1,29 +1,36 @@  extends Node +const DEFAULT_SETTINGS := { +	"username": "Giovanni", +	"character": 0, +	"last_server_url": "" +} + +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_var(settings.duplicate(true)) +	 +	print("Saved settings: ", settings)  func load_profile():  	# TOCTOU here. Godot docs says its fine.  	if not FileAccess.file_exists("user://profile"):  		print("Skip profile load")  		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 = f.get_var() +	 +	# Add missing keys +	for k in DEFAULT_SETTINGS.keys(): +		if !settings.has(k): +			settings[k] = DEFAULT_SETTINGS[k] +	 +	print("Loaded settings: ", settings) | 
