diff options
Diffstat (limited to 'client/menu/settings/range_setting.gd')
-rw-r--r-- | client/menu/settings/range_setting.gd | 22 |
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 |