diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-06 23:43:42 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-06 23:43:42 +0200 |
commit | 06baf4555dc1c7a64bed7d059fbe34c99e9638fb (patch) | |
tree | 923d343033a8c1aa28a8d6c834c0332ddd2201ab /client/menu/settings/dropdown_setting.gd | |
parent | d7fefc69c0a8a4b70d3553125af5f5cabdba6b3b (diff) | |
download | hurrycurry-06baf4555dc1c7a64bed7d059fbe34c99e9638fb.tar hurrycurry-06baf4555dc1c7a64bed7d059fbe34c99e9638fb.tar.bz2 hurrycurry-06baf4555dc1c7a64bed7d059fbe34c99e9638fb.tar.zst |
refactor settings again (part 1)
Diffstat (limited to 'client/menu/settings/dropdown_setting.gd')
-rw-r--r-- | client/menu/settings/dropdown_setting.gd | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index e57fc40f..62162320 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -18,23 +18,18 @@ 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() row.value_node = OptionButton.new() for i in options: - row.value_node.add_item(i) - row.value_node.select(_value) + row.value_node.add_item(tr(nskey + "." + i)) + row.value_node.select(options.find(Global.get_setting(key))) + if not row.value_node.item_selected.is_connected(from_ui): + row.value_node.item_selected.connect(from_ui) -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 +func from_ui(index): + Global.set_setting(key, options[index]) |