sunoku/scenes/world/spawner.gd

38 lines
653 B
GDScript

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