class_name UI extends CanvasLayer @onready var crosshair: CenterContainer = $Crosshair @onready var quick_slots: MarginContainer = $QuickSlots @onready var pause_menu: PauseMenu = $PauseMenu @onready var save_load_ui: Control = $SaveLoadUI @onready var settings_menu: SettingsMenu = $SettingsMenu @onready var waila: Waila = $Waila func _ready() -> void: SignalManager.close_pause_menu.connect(_on_close_pause_menu) SignalManager.open_pause_menu.connect(_on_open_pause_menu) SignalManager.close_settings_menu.connect(_on_close_settings_menu) SignalManager.open_settings_menu.connect(_on_open_settings_menu) SignalManager.resume_game.connect(_on_resume_game) SaveGameManager.close_save_list_ui.connect(_on_close_save_list_ui) SaveGameManager.open_save_list_ui.connect(_on_open_save_list_ui) SaveGameManager.load_complete.connect(_on_load_complete) _on_resume_game() func hide_menus() -> void: pause_menu.visible = false settings_menu.visible = false save_load_ui.visible = false func hide_ui_elements() -> void: crosshair.visible = false quick_slots.visible = false waila.visible = false func _on_close_pause_menu() -> void: SignalManager.resume_game.emit() func _on_close_save_list_ui() -> void: SignalManager.open_settings_menu.emit() func _on_close_settings_menu() -> void: SignalManager.resume_game.emit() func _on_load_complete() -> void: _on_resume_game() func _on_open_pause_menu() -> void: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE hide_ui_elements() hide_menus() pause_menu.visible = true get_tree().paused = true func _on_open_save_list_ui() -> void: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE hide_ui_elements() hide_menus() save_load_ui.visible = true get_tree().paused = true func _on_open_settings_menu() -> void: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE hide_ui_elements() hide_menus() settings_menu.visible = true get_tree().paused = true func _on_resume_game() -> void: Input.mouse_mode = Input.MOUSE_MODE_CAPTURED hide_menus() crosshair.visible = true quick_slots.visible = true and GameSettingsManager.settings.game_options.enable_quickslots_ui waila.visible = true get_tree().paused = false