30 lines
738 B
GDScript
30 lines
738 B
GDScript
extends Node
|
|
|
|
@export var enemies_ui_container: VBoxContainer
|
|
|
|
@onready var spawn_manager: Node = $"../SpawnManager"
|
|
const ENEMY_UI_SCENE: PackedScene = preload("res://packed-scenes/enemy_ui.tscn")
|
|
|
|
|
|
func _ready() -> void:
|
|
spawn_manager.enemy_ui_ready = true
|
|
|
|
|
|
func update_enemies_ui(enemies: Array[Enemy]) -> void:
|
|
_clear_enemy_ui_container()
|
|
if enemies.is_empty():
|
|
return
|
|
for enemy in enemies:
|
|
var enemy_ui: Node = _instantiate_enemy_ui(enemy)
|
|
enemies_ui_container.add_child(enemy_ui)
|
|
|
|
|
|
func _clear_enemy_ui_container() -> void:
|
|
for child in enemies_ui_container.get_children():
|
|
child.queue_free()
|
|
|
|
|
|
func _instantiate_enemy_ui(enemy: Enemy) -> Node:
|
|
var ui: Node = ENEMY_UI_SCENE.instantiate()
|
|
ui.enemy = enemy
|
|
return ui |