online multiplayer chess game (note server currently down)
Diffstat (limited to 'saveload.gd')
-rw-r--r--saveload.gd43
1 files changed, 43 insertions, 0 deletions
diff --git a/saveload.gd b/saveload.gd
new file mode 100644
index 0000000..e0ea473
--- /dev/null
+++ b/saveload.gd
@@ -0,0 +1,43 @@
+extends Node
+
+const settings_file = "user://chess.settings"
+
+var files := {
+ "settings":
+ { # file types
+ "file": settings_file,
+ "data":
+ {
+ "vsync": OS.vsync_enabled,
+ "fullscreen": OS.window_fullscreen,
+ "borderless": OS.window_borderless,
+ "piece_set": "california"
+ }
+ }
+}
+
+
+func _ready():
+ load_data("settings")
+
+
+func save(type):
+ var file = File.new()
+ file.open(files[type]["file"], File.WRITE)
+ file.store_string(var2str(files[type]["data"]))
+
+
+func load_data(type: String):
+ if check_file(type):
+ var file = File.new()
+ file.open(files[type]["file"], File.READ)
+ if file.get_as_text().length() > 0:
+ var read_dictionary: Dictionary = str2var(file.get_as_text())
+ if files[type]["data"].size() == read_dictionary.size():
+ files[type]["data"] = read_dictionary
+ file.close()
+
+
+func check_file(type):
+ var file = File.new()
+ return file.file_exists(files[type]["file"])