diff options
| author | tpart <tpart120@proton.me> | 2024-06-29 20:21:13 +0200 |
|---|---|---|
| committer | tpart <tpart120@proton.me> | 2024-06-29 20:21:20 +0200 |
| commit | c865b535d9437d457162f1aad545383653deafc5 (patch) | |
| tree | 05eb9d7f0eddcc79ea4588bbd0ffa7d554e88731 /client/menu/settings_menu.gd | |
| parent | 0d59b04feb71b59ed742a61991768733a7e608f1 (diff) | |
| download | hurrycurry-c865b535d9437d457162f1aad545383653deafc5.tar hurrycurry-c865b535d9437d457162f1aad545383653deafc5.tar.bz2 hurrycurry-c865b535d9437d457162f1aad545383653deafc5.tar.zst | |
Re-write settings system
Diffstat (limited to 'client/menu/settings_menu.gd')
| -rw-r--r-- | client/menu/settings_menu.gd | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/client/menu/settings_menu.gd b/client/menu/settings_menu.gd index 6b2a7f60..4c14a459 100644 --- a/client/menu/settings_menu.gd +++ b/client/menu/settings_menu.gd @@ -15,7 +15,7 @@ # extends Control -@onready var options: VBoxContainer = $outer_gap/panel/inner_gap/options +@onready var options: VBoxContainer = $OuterGap/Panel/InnerGap/VBoxContainer/ScrollContainer/Options @onready var menu_manager: MenuManager = get_parent() var settings: Dictionary @@ -26,11 +26,29 @@ func _on_back_pressed(): Global.save_settings() menu_manager.go_back() - func _ready(): + update_rows() + +func show_graphis(): + menu_manager.goto("settings_graphics") + +func update_rows(): + for c in options.get_children(): + c.queue_free() + for k in Global.settings.keys(): var v = Global.settings[k] var row: SettingsRow = preload("res://menu/settings_row.tscn").instantiate() - row.setup(v["description"], v["value"]) + row.setup(k, Global.settings, Global.default_settings) + row.connect("apply_preset", apply_preset) options.add_child(row) settings[k] = row + +func apply_preset(preset: Dictionary): + for k in settings.keys(): + Global.settings[k]["value"] = settings[k].get_value() + + for k in preset.keys(): + Global.settings[k]["value"] = preset[k] + + update_rows() |