extends Node class_name Credentials const default_id_data := {uuid = "", name = "", country = "rainbow", password = ""} const file := "user://.chess.id" var data := default_id_data func _ready(): var lod = SaveLoad.load(file) data = lod if Utils.dict_cmp(lod, default_id_data) else default_id_data if len(data.uuid) == 0: create_temporary_uuid() func create_temporary_uuid(): randomize() data.uuid = "A-%02x%02x%02x%02x-N" % [randi() % 256, randi() % 256, randi() % 256, randi() % 256] save() func reset(): data = default_id_data create_temporary_uuid() func save() -> void: SaveLoad.save(file, data, false) func get(property: String) -> String: return data[property] func get_public() -> Dictionary: # obviously the uuid isnt public. This actually just means ok for server: must not be used to send to other clients, directly. the id will be filtered out return {id = data.uuid, name = data.name, country = data.country}