summaryrefslogtreecommitdiff
path: root/client/menu/settings/range_setting.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/menu/settings/range_setting.gd')
-rw-r--r--client/menu/settings/range_setting.gd22
1 files changed, 8 insertions, 14 deletions
diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd
index d13e2262..b119a205 100644
--- a/client/menu/settings/range_setting.gd
+++ b/client/menu/settings/range_setting.gd
@@ -1,5 +1,6 @@
# Hurry Curry! - a game about cooking
# Copyright 2024 nokoe
+# Copyright 2024 metamuffin
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@@ -21,27 +22,20 @@ var max_value: float
var tick_count
var smooth: bool
-func _init(new_description: String, new_preset: float, new_min_value: float, new_max_value: float, new_smooth: bool = true, new_tick_count = null):
- super(new_description, new_preset)
+func _init(new_id: String, new_default: float, new_min_value: float, new_max_value: float, new_smooth: bool = true, new_tick_count = null):
+ super(new_id, new_default)
min_value = new_min_value
max_value = new_max_value
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))
- row.value_node.value = _value
-
-func fetch_setting():
- if row != null:
- _value = row.value_node.value
-
-func set_value(v):
- super(v)
- if row != null:
- row.value_node.value = _value
+ Settings.hook_changed_init(key, true, func(value): row.value_node.value = value)
+ row.value_node.value_changed.connect(func(value): Global.set_setting(key, value))
+ return row