diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-07 03:39:06 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-07 03:39:06 +0200 |
commit | a97f429c6a0ead9eb084efbd276bd999bf9c9a7f (patch) | |
tree | 55f259924422d8611c070c935313705f04003530 /client | |
parent | 78b7ec6ef9e343731cc496f11c76a0a3e5f37220 (diff) | |
download | hurrycurry-a97f429c6a0ead9eb084efbd276bd999bf9c9a7f.tar hurrycurry-a97f429c6a0ead9eb084efbd276bd999bf9c9a7f.tar.bz2 hurrycurry-a97f429c6a0ead9eb084efbd276bd999bf9c9a7f.tar.zst |
_update_row -> create_row
Diffstat (limited to 'client')
-rw-r--r-- | client/menu/settings/dropdown_setting.gd | 2 | ||||
-rw-r--r-- | client/menu/settings/input/input_setting.gd | 13 | ||||
-rw-r--r-- | client/menu/settings/preset_row.gd | 16 | ||||
-rw-r--r-- | client/menu/settings/range_setting.gd | 7 | ||||
-rw-r--r-- | client/menu/settings/settings_category.gd | 6 | ||||
-rw-r--r-- | client/menu/settings/settings_root.gd | 4 | ||||
-rw-r--r-- | client/menu/settings/text_setting.gd | 2 |
7 files changed, 22 insertions, 28 deletions
diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index 8dffce5a..4a3ce8c6 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -26,6 +26,6 @@ func create_row(): var row = super() row.value_node = OptionButton.new() for i in options: row.value_node.add_item(tr(nskey + "." + i)) - Settings.hook_changed_init(func (value): row.value_node.select(options.find(Global.get_setting(value)))) + Settings.hook_changed_init(key, func (value): row.value_node.select(options.find(value))) row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item])) return row 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 diff --git a/client/menu/settings/preset_row.gd b/client/menu/settings/preset_row.gd index ab49f0d8..af6cfe0e 100644 --- a/client/menu/settings/preset_row.gd +++ b/client/menu/settings/preset_row.gd @@ -35,11 +35,11 @@ func apply(preset_name: String): Global.set_setting(prefix + "." + i, preset[i]) func create_row(): - super() - if row.value_node == null: - row.value_node = HBoxContainer.new() - for i in options.keys(): - var button := Button.new() - button.pressed.connect(apply.bind(i)) - button.text = tr(nskey + "." + i) - row.value_node.add_child(button) + var row = super() + row.value_node = HBoxContainer.new() + for i in options.keys(): + var button := Button.new() + button.pressed.connect(apply.bind(i)) + button.text = tr(nskey + "." + i) + row.value_node.add_child(button) + return row diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index adc8a28c..f1261b81 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -29,12 +29,13 @@ func _init(new_id: String, new_default: float, new_min_value: float, new_max_val tick_count = new_tick_count smooth = new_smooth -func _update_row(): - super() +func create_row(): + var row = super() row.value_node = HSlider.new() row.value_node.min_value = min_value row.value_node.max_value = max_value row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) - Settings.hook_change_init(func(value): row.value_node.value = value) + Settings.hook_changed_init(key, func(value): row.value_node.value = value) row.value_node.value_changed.connect(func(value): Global.set_setting(key, value)) + return row diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd index 4f5fbbc4..b5d02d8f 100644 --- a/client/menu/settings/settings_category.gd +++ b/client/menu/settings/settings_category.gd @@ -29,7 +29,7 @@ func set_parent(parent: GameSetting): for c in settings: c.set_parent(self) -func _update_row(): +func create_row(): var row = ScrollContainerCustom.new() var options = VBoxContainer.new() row.name = tr(nskey) @@ -37,9 +37,7 @@ func _update_row(): options.size_flags_horizontal = Control.SIZE_EXPAND_FILL row.add_child(options) - for r in settings: - r._update_row() - options.add_child(r.row) + for r in settings: options.add_child(r.create_row()) return row func check(): diff --git a/client/menu/settings/settings_root.gd b/client/menu/settings/settings_root.gd index d7dad1f7..1beb0d9b 100644 --- a/client/menu/settings/settings_root.gd +++ b/client/menu/settings/settings_root.gd @@ -26,9 +26,7 @@ func _init(new_children: Array): func create_row(): var row = TabContainer.new() row.size_flags_vertical = Control.SIZE_EXPAND_FILL - for r in children: - r._update_row() - row.add_child(r.row) + for r in children: row.add_child(r.create_row()) return row func check(): diff --git a/client/menu/settings/text_setting.gd b/client/menu/settings/text_setting.gd index 4cdf746f..8bf2fa9f 100644 --- a/client/menu/settings/text_setting.gd +++ b/client/menu/settings/text_setting.gd @@ -23,7 +23,7 @@ func _init(new_id: String, new_default: String, new_placeholder: String = ""): super(new_id, new_default) placeholder = new_placeholder -func _update_row(): +func create_row(): var row = super() row.value_node = LineEdit.new() row.value_node.placeholder_text = placeholder |