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: SaveLoadUI = $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)
|
|
|
|
save_load_ui.close_save_list.connect(_on_close_save_list_ui)
|
|
save_load_ui.open_save_list.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
|