netfishing/ui/pixelation_reset_overlay.gd

33 lines
771 B
GDScript3
Raw Normal View History

2026-07-27 14:39:37 -04:00
class_name PixelationResetOverlay
extends CanvasLayer
signal reset_requested
signal return_to_settings_requested
@onready var _reset_button: Button = %ResetPixelationButton
func _ready() -> void:
_reset_button.pressed.connect(reset_requested.emit)
_reset_button.gui_input.connect(_on_reset_button_gui_input)
func set_settings_open(is_open: bool) -> void:
visible = is_open
if not is_open and _reset_button.has_focus():
_reset_button.release_focus()
func focus_reset_button() -> void:
if visible:
_reset_button.grab_focus()
func _on_reset_button_gui_input(event: InputEvent) -> void:
if (
event.is_action_pressed("ui_up")
or event.is_action_pressed("ui_focus_prev")
):
return_to_settings_requested.emit()
get_viewport().set_input_as_handled()