Basic UI Logic and game state

This commit is contained in:
2025-02-03 16:29:06 -05:00
parent 7b9a0ea032
commit ccd94eed31
7 changed files with 233 additions and 121 deletions

View File

@@ -0,0 +1,38 @@
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()