prototype
This commit is contained in:
commit
5bac9ddd2a
33 changed files with 956 additions and 0 deletions
25
enemy_spawner.gd
Normal file
25
enemy_spawner.gd
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue