Add independent pixelation controls
This commit is contained in:
parent
6fadca19b4
commit
c7504d2585
21 changed files with 735 additions and 122 deletions
32
ui/pixelation_reset_overlay.gd
Normal file
32
ui/pixelation_reset_overlay.gd
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue