Refactor save/load functionality; improve error messages and add save data timer
This commit is contained in:
@@ -5,25 +5,14 @@ extends Node
|
||||
const SETTING_SECTION := "Settings"
|
||||
const SAVE_PATH = "user://settings.cfg"
|
||||
|
||||
|
||||
func ch():
|
||||
pass
|
||||
#print(Global.Owniverse)
|
||||
#print('h')
|
||||
#save_data('ow1', 'test', Global.Owniverse)
|
||||
#var d1: Dictionary = load_data('ow1', 'test1')
|
||||
#print("d1: ", d1)
|
||||
#var d2: Dictionary = load_data('ow1', 'test')
|
||||
#print("d2: ", d2)
|
||||
#print('d')
|
||||
#print(Global.Owniverse.datetime.WEEKDAYS)
|
||||
#region Save Load routines
|
||||
|
||||
|
||||
func save_data(filename: String, password: String, data: Dictionary) -> void:
|
||||
filename = "user://" + filename + ".adventure"
|
||||
var file := FileAccess.open_encrypted_with_pass(filename, FileAccess.WRITE, password)
|
||||
if file == null:
|
||||
push_error("Не удалось открыть файл для шифрованной записи")
|
||||
push_error("Can't write to the file: ", filename)
|
||||
return
|
||||
|
||||
file.store_var(data) # бинарно + быстрее + сериализация
|
||||
@@ -37,17 +26,15 @@ func load_data(filename: String, password: String) -> Dictionary:
|
||||
|
||||
var file := FileAccess.open_encrypted_with_pass(filename, FileAccess.READ, password)
|
||||
if file == null:
|
||||
push_error("Неверный пароль или повреждённый файл")
|
||||
push_error(filename, " couldn't be decrypted.")
|
||||
return {}
|
||||
|
||||
var data:Variant = file.get_var()
|
||||
var data: Variant = file.get_var()
|
||||
file.close()
|
||||
|
||||
#print("data")
|
||||
#print(data)
|
||||
|
||||
return data if data is Dictionary else {}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Settings
|
||||
|
||||
Reference in New Issue
Block a user