Files
mtd/Scenes/Menus/PauseMenu/pause_menu.gd

55 lines
1.5 KiB
GDScript

class_name PauseMenu extends Control
signal closed
signal quit_to_main_menu_pressed
signal quit_to_desktop_pressed
var options_menu_scene: PackedScene = preload("res://Scenes/Menus/options_menu.tscn")
var confirmation_popup_scene: PackedScene = preload("res://Scenes/Menus/confirmation_popup.tscn")
var game_manager: GameManager
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("Pause"):
accept_event()
_on_resume_pressed()
func _on_resume_pressed() -> void:
closed.emit()
queue_free()
func _on_options_pressed() -> void:
var menu: OptionsMenu = options_menu_scene.instantiate()
menu.game_manager = game_manager
add_child(menu)
func _on_quit_to_main_menu_pressed() -> void:
var popup: ConfirmationPopup = confirmation_popup_scene.instantiate() as ConfirmationPopup
popup.set_popup("Are you sure you want to quit and return to main menu?", "Yes", "No")
popup.completed.connect(return_to_menu)
add_child(popup)
func return_to_menu(confirmation: bool) -> void:
if confirmation:
quit_to_main_menu_pressed.emit()
func _on_quit_to_desktop_pressed() -> void:
var popup: ConfirmationPopup = confirmation_popup_scene.instantiate() as ConfirmationPopup
popup.set_popup("Are you sure you want to quit?", "Yes", "No")
popup.completed.connect(quit_game)
add_child(popup)
func quit_game(confirmation: bool) -> void:
if confirmation:
quit_to_desktop_pressed.emit()
func _on_button_mouse_entered() -> void:
$AudioStreamPlayer.play()