extends Marker2D var spawns : Array[Level.Spawn] var next_spawn : Level.Spawn var timer = 2 var spawning = false func _process(delta): if spawns == []: spawning = false if spawning: timer -= delta if timer < 0: spawn(next_spawn.enemy) timer = next_spawn.delay spawns.erase(next_spawn) timer = 2 if spawns != []: next_spawn = spawns.pick_random() func spawn(enemy : CharacterBody2D): enemy.player = get_tree().get_nodes_in_group("player")[0] enemy.global_position = global_position get_parent().add_child(enemy) func add_spawn(spawn : Level.Spawn): spawns.append(spawn) next_spawn = spawn spawning = true