extends CanvasLayer class_name HUD @onready var progress_bar_red: ProgressBar = $PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainerRed/ProgressBar @onready var progress_bar_green: ProgressBar = $PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainerGreen/ProgressBar @onready var progress_bar_blue: ProgressBar = $PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainerBlue/ProgressBar @onready var texture_rect: TextureRect = $PanelContainer/MarginContainer/VBoxContainer/TextureRect @onready var lives_container: GridContainer = $PanelContainer/MarginContainer/VBoxContainer/LivesContainer @onready var entity_count_label: Label = $EntityCountContainer/MarginContainer/EntityCountLabel @onready var rocket_spawned_toast: PanelContainer = $RocketSpawnedToast @onready var alliance_texture: TextureRect = $PanelContainer/MarginContainer/VBoxContainer/AllianceContainer/MarginContainer/AllianceTexture const HEART = preload("res://assets/heart.png") func _on_player_color_changed(color: Color) -> void: progress_bar_red.value = color.r progress_bar_green.value = color.g progress_bar_blue.value = color.b texture_rect.modulate = color func _on_player_lives_changed(lives: int) -> void: var heart_containers = lives_container.get_children() if heart_containers.size() < lives: var life = TextureRect.new() life.texture = HEART lives_container.add_child(life) elif heart_containers.size() > lives: heart_containers.pop_back().queue_free() func update_entity_count(count: int): entity_count_label.text = "Entity Count: %s" % count func rocket_placed() -> void: rocket_spawned_toast.show() rocket_spawned_toast.get_node("Timer").start() func _on_timer_timeout() -> void: rocket_spawned_toast.hide() func set_alliance(alliance: Buff.colors) -> void: match alliance: Buff.colors.RED: alliance_texture.modulate = Color.RED Buff.colors.GREEN: alliance_texture.modulate = Color.GREEN Buff.colors.BLUE: alliance_texture.modulate = Color.BLUE