aboutsummaryrefslogtreecommitdiff
path: root/client/menu/settings/dropdown_setting.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@noreply.codeberg.org>2024-09-07 13:37:23 +0000
committermetamuffin <metamuffin@noreply.codeberg.org>2024-09-07 13:37:23 +0000
commit091f8ff9acf04cedf14765e9db5540c876fd7375 (patch)
tree4c115d6cb14df5d68bc72785f1020ed4ad2fb8e2 /client/menu/settings/dropdown_setting.gd
parentaf108805c8fd87a9d20a8df02072f224d2cd3417 (diff)
parent3ef379fb07df126ea09cb112801a0bef371f8811 (diff)
downloadhurrycurry-091f8ff9acf04cedf14765e9db5540c876fd7375.tar
hurrycurry-091f8ff9acf04cedf14765e9db5540c876fd7375.tar.bz2
hurrycurry-091f8ff9acf04cedf14765e9db5540c876fd7375.tar.zst
Merge pull request 'Refactor settings system and localization' (#123) from new-settings into master
Reviewed-on: https://codeberg.org/hurrycurry/hurrycurry/pulls/123
Diffstat (limited to 'client/menu/settings/dropdown_setting.gd')
-rw-r--r--client/menu/settings/dropdown_setting.gd25
1 files changed, 8 insertions, 17 deletions
diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd
index e57fc40f..3d6b7c80 100644
--- a/client/menu/settings/dropdown_setting.gd
+++ b/client/menu/settings/dropdown_setting.gd
@@ -18,23 +18,14 @@ extends GameSetting
var options: Array
-func _init(new_description: String, new_preset: int, new_options: Array):
- assert(new_preset < new_options.size())
- super(new_description, new_preset)
+func _init(new_id: String, new_default, new_options: Array):
+ super(new_id, new_default)
options = new_options
-func _update_row():
- super()
+func create_row():
+ var row = super()
row.value_node = OptionButton.new()
- for i in options:
- row.value_node.add_item(i)
- row.value_node.select(_value)
-
-func fetch_setting():
- if row != null:
- _value = row.value_node.selected
-
-func set_value(v):
- super(v)
- if row != null:
- row.value_node.selected = _value
+ for i in options: row.value_node.add_item(tr(nskey + "." + i))
+ Settings.hook_changed_init(key, true, 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