notSpore/evolve-die-repeat/molecular/preyManager.gd

40 lines
1.1 KiB
GDScript

extends Node
@export var preyScene: PackedScene
var score
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_prey_timer_timeout() -> void:
# Create a new instance of the Mob scene.
var prey = preyScene.instantiate()
# Choose a random location on Path2D.
var preySpawnLocation = $PreyPath/PreySpawnLocation
preySpawnLocation.progress_ratio = randf()
# Set the mob's position to the random location.
prey.position = preySpawnLocation.position
# Set the mob's direction perpendicular to the path direction.
var direction = preySpawnLocation.rotation + PI / 2
# Add some randomness to the direction.
direction += randf_range(-PI / 4, PI / 4)
prey.rotation = direction
# Choose the velocity for the mob.
var velocity = Vector2(randf_range(50.0, 100.0), 0.0)
prey.linear_velocity = velocity.rotated(direction)
# Spawn the mob by adding it to the Main scene.
add_child(prey)