extends CanvasLayer @onready var pause_menu = $Control func _ready() -> void: _register_focus_sounds() func _input(event): if event.is_action_pressed("ui_cancel"): if get_tree().paused: resume_game() else: pause_game() func pause_game(): get_tree().paused = true visible = true func resume_game(): get_tree().paused = false visible = false func _on_quit_button_pressed(): get_tree().quit() func _on_continue_button_pressed(): resume_game() func _register_focus_sounds() -> void: if pause_menu == null: return var vbox := pause_menu.get_node_or_null("VBoxContainer") if vbox == null: return for child in vbox.get_children(): if child is BaseButton: var button: BaseButton = child if not button.is_connected("focus_entered", Callable(self, "_on_menu_item_focus")): button.focus_entered.connect(_on_menu_item_focus) if not button.is_connected("mouse_entered", Callable(self, "_on_menu_item_focus")): button.mouse_entered.connect(_on_menu_item_focus) func _on_menu_item_focus() -> void: if MenuSfx: MenuSfx.play_hover()