You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
911 B
GDScript

extends Node3D
class_name UIManager
@onready var ui_map = {
"profile" : $ProfileScreen,
"hud" : $HudScreen,
"status" : $StatusScreen,
"menu" : $MenuScreen
}
var pause_count = 0
var ui_stack = []
func _ready():
Global.ui_mgr = self
close_all()
open("hud")
func input_action(key:String,is_pressed:bool):
pass
func input_dir(key:String,is_pressed:bool):
pass
func open(ui_name:String):
set_ui_visible(ui_name,true)
func close(ui_name:String):
set_ui_visible(ui_name,false)
func close_all():
for ui_name in ui_map:
close(ui_name)
func pause_open(ui_name:String):
open(ui_name)
set_pause(true)
func pause_close(ui_name:String):
close(ui_name)
set_pause(false)
func set_ui_visible(ui_name:String,is_visible:bool):
if not ui_name in ui_map:
return
ui_map[ui_name].visible = is_visible
func set_pause(is_pause:bool):
Global.is_control_pause = is_pause
get_tree().paused = is_pause