Basic UI Logic and game state
This commit is contained in:
38
core/scripts/pause_menu.gd
Normal file
38
core/scripts/pause_menu.gd
Normal 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()
|
||||
Reference in New Issue
Block a user