47 lines
1.1 KiB
GDScript
47 lines
1.1 KiB
GDScript
class_name PauseMain extends VBoxContainer
|
|
|
|
signal resumeRequested
|
|
signal settingsRequested
|
|
signal quitRequested
|
|
|
|
@export var btnResume:Button
|
|
@export var btnSettings: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)
|
|
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
|