YMFS/core/scripts/pause_menu.gd

39 lines
863 B
GDScript

extends Control
@export var resume_button: Button
@export var quit_button: Button
func _ready():
resume_button.pressed.connect(_on_resume_button_pressed)
quit_button.pressed.connect(_on_quit_button_pressed)
self.visibility_changed.connect(_on_visibility_changed)
func _on_resume_button_pressed():
hide()
_toggle_pause_state(false)
func _on_quit_button_pressed():
get_tree().quit()
func _input(event: InputEvent) -> void:
if Input.is_action_just_pressed("start") and !GameManager.is_paused and GameManager.game_started:
_toggle_pause_state(true)
elif Input.is_action_just_pressed("start") and GameManager.is_paused:
_toggle_pause_state(false)
func _toggle_pause_state(state: bool):
get_tree().paused = state
GameManager.is_paused = state
visible = state
func _on_visibility_changed() -> void:
if visible:
resume_button.grab_focus()