diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-10-08 01:01:53 +0200 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-10-08 01:01:53 +0200 |
| commit | fe711a11cfcfeca06c085a56f2e1d5f68a049337 (patch) | |
| tree | 42d6bd6ef076b95ab86e64dda36552e45fd34a11 /client/gui | |
| parent | 4e655f4e648b64b6f416da7183a8d555745fa163 (diff) | |
| download | hurrycurry-fe711a11cfcfeca06c085a56f2e1d5f68a049337.tar hurrycurry-fe711a11cfcfeca06c085a56f2e1d5f68a049337.tar.bz2 hurrycurry-fe711a11cfcfeca06c085a56f2e1d5f68a049337.tar.zst | |
Unhook setting callbacks when hooking node is freed
Diffstat (limited to 'client/gui')
| -rw-r--r-- | client/gui/components/blur_setup.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/game.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/dropdown_setting.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/game_setting.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/input/input_manager.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/input/input_setting.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/number_setting.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/range_setting.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/text_setting.gd | 2 | ||||
| -rw-r--r-- | client/gui/menus/settings/toggle_setting.gd | 2 | ||||
| -rw-r--r-- | client/gui/overlays/debug/debug.gd | 2 | ||||
| -rw-r--r-- | client/gui/overlays/overlays.gd | 2 |
12 files changed, 12 insertions, 12 deletions
diff --git a/client/gui/components/blur_setup.gd b/client/gui/components/blur_setup.gd index 6034aa7f..b24a94d8 100644 --- a/client/gui/components/blur_setup.gd +++ b/client/gui/components/blur_setup.gd @@ -18,7 +18,7 @@ class_name BlurSetup func _ready(): update(Settings.read("graphics.ui_blur")) - Settings.hook_changed("graphics.ui_blur", "main", update) + Settings.hook_changed("graphics.ui_blur", self, update) func update(state): material.set_shader_parameter("enable_blur", state) diff --git a/client/gui/menus/game.gd b/client/gui/menus/game.gd index e0ab5de7..82eff30c 100644 --- a/client/gui/menus/game.gd +++ b/client/gui/menus/game.gd @@ -25,7 +25,7 @@ func _ready(): get_tree().get_root().go_back_requested.connect(open_ingame_menu) super() transition.set_loading_text(tr("c.menu.game.connecting")) - Settings.hook_changed_init("gameplay.first_person", "mouse_lock", func (_a): update_mouse_capture()) + Settings.hook_changed_init("gameplay.first_person", self, func (_a): update_mouse_capture()) func _input(_event): if Input.is_action_just_pressed("ui_menu"): diff --git a/client/gui/menus/settings/dropdown_setting.gd b/client/gui/menus/settings/dropdown_setting.gd index bf4c3d48..0d6f5ddc 100644 --- a/client/gui/menus/settings/dropdown_setting.gd +++ b/client/gui/menus/settings/dropdown_setting.gd @@ -27,7 +27,7 @@ func create_row(): row.value_node = OptionButton.new() row.value_node.clip_text = true for i in options: row.value_node.add_item(tr(nskey + "." + i)) - Settings.hook_changed_init(key, "preview", + Settings.hook_changed_init(key, row.value_node, func(value): if is_instance_valid(row): row.value_node.select(options.find(value)) diff --git a/client/gui/menus/settings/game_setting.gd b/client/gui/menus/settings/game_setting.gd index d0b38b34..07d39d98 100644 --- a/client/gui/menus/settings/game_setting.gd +++ b/client/gui/menus/settings/game_setting.gd @@ -35,7 +35,7 @@ func create_row(): if hide_reset(): row.hide_reset = true else: row.reset.connect(func(): Settings.write(key, default)) - Settings.hook_changed_init(key, "preview_reset", func (_value): + Settings.hook_changed_init(key, row, func (_value): if is_instance_valid(row): row.set_reset_disabled(is_default()) ) return row diff --git a/client/gui/menus/settings/input/input_manager.gd b/client/gui/menus/settings/input/input_manager.gd index b0b80a39..4647659f 100644 --- a/client/gui/menus/settings/input/input_manager.gd +++ b/client/gui/menus/settings/input/input_manager.gd @@ -25,7 +25,7 @@ enum EventType { func action_list() -> Array: # Array[String] return InputMap.get_actions().filter(func isBuiltIn(k: String): return !k.begins_with("ui_")).map(func (x): return str(x)) -func update_input_map(action: String): +func update_input_map(_value, action: String): if not action in action_list(): return InputMap.action_erase_events(action) for event in Settings.read("input.%s" % action): diff --git a/client/gui/menus/settings/input/input_setting.gd b/client/gui/menus/settings/input/input_setting.gd index 2fb4af3d..8a494865 100644 --- a/client/gui/menus/settings/input/input_setting.gd +++ b/client/gui/menus/settings/input/input_setting.gd @@ -27,7 +27,7 @@ func create_row(): row.value_node = INPUT_VALUE_NODE_SCENE.instantiate() # Manual initial update without update() since that needs to wait for _ready row.value_node.value = Settings.read(key) - Settings.hook_changed(key, "preview", + Settings.hook_changed(key, row.value_node, func(value): if is_instance_valid(row): row.value_node.value = value diff --git a/client/gui/menus/settings/number_setting.gd b/client/gui/menus/settings/number_setting.gd index 48dd0a82..0301895c 100644 --- a/client/gui/menus/settings/number_setting.gd +++ b/client/gui/menus/settings/number_setting.gd @@ -32,7 +32,7 @@ func create_row(): input.max_value = max_value input.value_changed.connect(func(value): Settings.write(key, value as int)) - Settings.hook_changed_init(key, "preview", + Settings.hook_changed_init(key, input, func(v): if is_instance_valid(input): input.value = v diff --git a/client/gui/menus/settings/range_setting.gd b/client/gui/menus/settings/range_setting.gd index 2d7e88b4..89a213e0 100644 --- a/client/gui/menus/settings/range_setting.gd +++ b/client/gui/menus/settings/range_setting.gd @@ -35,7 +35,7 @@ func create_row(): 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_changed_init(key, "preview", + Settings.hook_changed_init(key, row.value_node, func(value): if is_instance_valid(row): row.value_node.value = value diff --git a/client/gui/menus/settings/text_setting.gd b/client/gui/menus/settings/text_setting.gd index de0ef218..9a873629 100644 --- a/client/gui/menus/settings/text_setting.gd +++ b/client/gui/menus/settings/text_setting.gd @@ -27,7 +27,7 @@ func create_row(): var input := LineEdit.new() input.placeholder_text = placeholder input.text_changed.connect(func(text): Settings.write(key, text)) - Settings.hook_changed_init(key, "preview", + Settings.hook_changed_init(key, input, func(text): if is_instance_valid(input): var pos = input.caret_column diff --git a/client/gui/menus/settings/toggle_setting.gd b/client/gui/menus/settings/toggle_setting.gd index fa60ca74..0a9a62c1 100644 --- a/client/gui/menus/settings/toggle_setting.gd +++ b/client/gui/menus/settings/toggle_setting.gd @@ -23,7 +23,7 @@ func create_row(): var row = super() row.value_node = CheckButton.new() row.value_node.pressed.connect(func(): Settings.write(key, row.value_node.button_pressed)) - Settings.hook_changed_init(key, "preview", + Settings.hook_changed_init(key, row.value_node, func(value): if is_instance_valid(row): row.value_node.button_pressed = value diff --git a/client/gui/overlays/debug/debug.gd b/client/gui/overlays/debug/debug.gd index 3a37a1b7..74175f2c 100644 --- a/client/gui/overlays/debug/debug.gd +++ b/client/gui/overlays/debug/debug.gd @@ -16,7 +16,7 @@ extends RichTextLabel func _ready(): - Settings.hook_changed_init("graphics.debug_info", "main", func (v): + Settings.hook_changed_init("graphics.debug_info", self, func (v): visible = v RenderingServer.viewport_set_measure_render_time(get_viewport().get_viewport_rid(), visible) ) diff --git a/client/gui/overlays/overlays.gd b/client/gui/overlays/overlays.gd index 9971ea53..b7d1bb21 100644 --- a/client/gui/overlays/overlays.gd +++ b/client/gui/overlays/overlays.gd @@ -17,7 +17,7 @@ extends Control class_name Overlays func _ready(): - Settings.hook_changed_init("ui.hide_overlays", "main", func (v): visible = not v) + Settings.hook_changed_init("ui.hide_overlays", self, func (v): visible = not v) func _input(_event): if Input.is_action_just_pressed("toggle_overlay"): |