road-rage-tank/enemy_spawner.gd
2026-01-29 14:23:33 -05:00

25 lines
568 B
GDScript

extends Path3D
var clock := 0.
func _get_spawn_pos() -> Vector3:
return curve.samplef(randf_range(0, curve.point_count))
func _spawn_police_car(p: Vector3) -> void:
var car: Node3D = preload("police_car.tscn").instantiate()
car.position = p + Vector3.UP * 0.1
add_sibling(car)
func _process(delta: float) -> void:
clock -= delta
if clock <= 0:
clock = 5.
var ps: Array[Vector3]
while ps.size() < 5:
var p := _get_spawn_pos()
if ps.any(func(_p): return _p.distance_to(p) < 3.):
break
ps.push_back(p)
for p in ps:
_spawn_police_car(p)