39 lines
863 B
GDScript3
39 lines
863 B
GDScript3
|
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()
|