Files
fps_project_1/scripts/pause_menu.gd

50 lines
1003 B
GDScript

extends Control
@onready var level_control = get_tree().current_scene
@onready var player: CharacterBody3D = $"../../../.."
var paused
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
visible = false
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_resume_pressed() -> void:
resume()
func _on_save__quit_pressed() -> void:
level_control.save_quit()
func _on_load_pressed() -> void:
SaveLoad.load_data()
func _unhandled_input(event: InputEvent) -> void:
if Input.is_action_just_pressed("escape"):
if player.is_on_floor():
if paused:
resume()
else:
pause()
func pause():
paused = true
get_tree().paused = true
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
player.toggle_hud(false)
player.pause_menu.show()
func resume():
paused = false
hide()
get_tree().paused = false
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
player.toggle_hud(true)