diff options
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() | 
