retrace/Level/WorkerSpawner.gd

22 lines
601 B
GDScript

extends Spatial
const SPAWN_TIME_MIN = 3000 # min spawntime in ms
const SPAWN_TIME_MAX = 7000 # max spawntime in ms
var _worker
var _lastSpawn = 0 # timestamp of last spawned worker
func _ready():
_worker = load("res://Characters/Worker/Worker.tscn")
assert(null != _worker)
func _process(delta):
# spawns new workers after defined time
var cur_time = OS.get_ticks_msec()
var diff = rand_range(SPAWN_TIME_MIN, SPAWN_TIME_MAX)
if cur_time - _lastSpawn > diff:
#Logger.info(name + " spawning new worker")
var new_worker = _worker.instance()
add_child(new_worker)
_lastSpawn = cur_time