aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-09-07 03:39:06 +0200
committermetamuffin <metamuffin@disroot.org>2024-09-07 03:39:06 +0200
commita97f429c6a0ead9eb084efbd276bd999bf9c9a7f (patch)
tree55f259924422d8611c070c935313705f04003530 /client
parent78b7ec6ef9e343731cc496f11c76a0a3e5f37220 (diff)
downloadhurrycurry-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.gd2
-rw-r--r--client/menu/settings/input/input_setting.gd13
-rw-r--r--client/menu/settings/preset_row.gd16
-rw-r--r--client/menu/settings/range_setting.gd7
-rw-r--r--client/menu/settings/settings_category.gd6
-rw-r--r--client/menu/settings/settings_root.gd4
-rw-r--r--client/menu/settings/text_setting.gd2
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