SchildDerStaerke/scripts/enemies_ui_manager.gd

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