summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/Settings.gd37
1 files changed, 37 insertions, 0 deletions
diff --git a/components/Settings.gd b/components/Settings.gd
new file mode 100644
index 0000000..f6f0b41
--- /dev/null
+++ b/components/Settings.gd
@@ -0,0 +1,37 @@
+extends Node
+
+var sound_level : int = 100
+
+##########
+# LOADER #
+##########
+
+onready var _file = File.new()
+const _SETTINGS_PATH = "user://settings.json"
+
+func _save_data():
+ return {
+ 'sound_level': sound_level,
+ }
+
+func _load_data(json):
+ sound_level = json['sound_level']
+
+func _load():
+ if _file.file_exists(_SETTINGS_PATH):
+ return
+ _file.open(_SETTINGS_PATH, File.READ)
+ var text = _file.get_as_text()
+ var json = parse_json(text)
+ _load_data(json)
+ _file.close()
+
+func save():
+ var json = _save_data()
+ var text = to_json(json)
+ _file.open(_SETTINGS_PATH, File.WRITE)
+ _file.store_string(text)
+ _file.close()
+
+
+