SchildDerStaerke/scripts/enemies_ui_manager.gd

26 lines
691 B
GDScript

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