Files
Dawn-Godot/ui/pause/PauseMain.gd
T

50 lines
1.2 KiB
GDScript

class_name PauseMain extends VBoxContainer
signal resumeRequested
signal settingsRequested
signal mainMenuRequested
signal quitRequested
@export var btnResume:Button
@export var btnSettings:Button
@export var btnMainMenu:Button
@export var btnQuit:Button
@export var mainButtons:VBoxContainer
@export var confirmQuit:VBoxContainer
@export var btnQuitConfirm:Button
@export var btnQuitCancel:Button
func _ready() -> void:
visible = false
btnResume.pressed.connect(resumeRequested.emit)
btnSettings.pressed.connect(settingsRequested.emit)
btnMainMenu.pressed.connect(mainMenuRequested.emit)
btnQuit.pressed.connect(_showConfirm)
btnQuitConfirm.pressed.connect(quitRequested.emit)
btnQuitCancel.pressed.connect(cancelConfirm)
func _showConfirm() -> void:
mainButtons.visible = false
confirmQuit.visible = true
btnQuitCancel.grab_focus()
func cancelConfirm() -> void:
mainButtons.visible = true
confirmQuit.visible = false
btnQuit.grab_focus()
func isConfirming() -> bool:
return confirmQuit.visible
func open() -> void:
visible = true
if isConfirming():
cancelConfirm()
btnResume.grab_focus()
func close() -> void:
visible = false
func isOpen() -> bool:
return visible