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