A Minecraft style clone in Godot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

66 lines
1.4 KiB

class_name UI
extends CanvasLayer
@onready var crosshair: CenterContainer = $Crosshair
@onready var quick_slots: MarginContainer = $QuickSlots
@onready var pause_menu: PauseMenu = $PauseMenu
@onready var waila: Waila = $Waila
func _ready() -> void:
SaveGameManager.load_complete.connect(_on_load_complete)
SignalManager.pause_game.connect(_on_pause_game)
SignalManager.resume_game.connect(_on_resume_game)
SignalManager.hide_ui.connect(_on_hide_ui)
SignalManager.show_ui.connect(_on_show_ui)
resume_game()
func hide_menus() -> void:
pause_menu.visible = false
func show_menus() -> void:
pause_menu.visible = true
func hide_ui_elements() -> void:
crosshair.visible = false
quick_slots.visible = false
waila.visible = false
func show_ui_elements() -> void:
crosshair.visible = true
quick_slots.visible = true and GameSettingsManager.settings.game_options.enable_quickslots_ui
waila.visible = true and GameSettingsManager.settings.game_options.enable_waila
func pause_game() -> void:
show_menus()
get_tree().paused = true
hide_ui_elements()
func resume_game() -> void:
hide_menus()
show_ui_elements()
get_tree().paused = false
func _on_load_complete() -> void:
resume_game()
func _on_pause_game() -> void:
pause_game()
func _on_resume_game() -> void:
resume_game()
func _on_hide_ui() -> void:
hide_menus()
hide_ui_elements()
func _on_show_ui() -> void:
show_ui_elements()