aboutsummaryrefslogtreecommitdiff
path: root/client/menu/settings/input/input_setting.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/menu/settings/input/input_setting.gd')
-rw-r--r--client/menu/settings/input/input_setting.gd13
1 files changed, 5 insertions, 8 deletions
diff --git a/client/menu/settings/input/input_setting.gd b/client/menu/settings/input/input_setting.gd
index e32e800c..7a017ed2 100644
--- a/client/menu/settings/input/input_setting.gd
+++ b/client/menu/settings/input/input_setting.gd
@@ -19,12 +19,9 @@ extends GameSetting
const INPUT_VALUE_NODE_SCENE = preload("res://menu/settings/input/input_value_node.tscn")
-func _update_row():
- super()
+func create_row():
+ var row = super()
row.value_node = INPUT_VALUE_NODE_SCENE.instantiate()
- row.value_node.value = Global.get_setting(key)
- if not row.value_node.changed.is_connected(from_ui):
- row.value_node.changed.connect(from_ui)
-
-func from_ui():
- Global.set_setting(key, row.value_node.value)
+ Settings.hook_changed_init(key, func(value): row.value_node.value = value)
+ row.value_node.changed.connect(func(): Global.set_setting(key, row.value_node.value))
+ return row