Files
rgb/scripts/hud.gd
2024-02-14 07:09:49 -06:00

30 lines
1.4 KiB
GDScript

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
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