class_name PauseMenu extends ClosableMenu @export var MAIN:PauseMain @export var settingsPanel:PauseSettings func _ready() -> void: super._ready() MAIN.resumeRequested.connect(close) MAIN.settingsRequested.connect(_openSettings) UI.MAIN_MENU_DIALOG.confirmed.connect(_goToMainMenu) func open() -> void: super.open() get_tree().paused = true settingsPanel.close() MAIN.open() func close() -> void: get_tree().paused = false settingsPanel.close() MAIN.close() super.close() func _openSettings() -> void: MAIN.close() settingsPanel.open() func _goToMainMenu() -> void: close() SCENE.setScene(SceneSingleton.SceneType.INITIAL) func _unhandled_input(event:InputEvent) -> void: if not event.is_action_pressed("ui_cancel"): return if settingsPanel.isOpen(): settingsPanel.close() MAIN.open() else: close() get_viewport().set_input_as_handled()