netmasked/scripts/wave_node.gd

23 lines
452 B
GDScript

class_name WaveNode extends Node2D
@export var spawn_interval := 0.2
signal finished;
var entities := 0;
func _ready() -> void:
entities = get_child_count()
func spawn_wave():
if get_child_count() == 0:
finished.emit()
return;
for c : Spawner in get_children():
c.spawn();
c.finished.connect(entity_left)
await get_tree().create_timer(spawn_interval).timeout
func entity_left():
entities -= 1
if entities <= 0:
finished.emit()