I have a monster, and within the monster script I have a node. The node3d emits a signal to tell my monster script that it is dead. I want to connect, or be able to communicate the dead signal to a script that is instantiating the monster, but I do not know how to get a signal from it... any way to solve this?:
@export var spawn_points : Array[Node3D] = []
@onready var ROBOT_MONSTER = preload("res://characters/enemies/robot_monster/robot_monster.tscn")
@onready var rand = RandomNumberGenerator.new()
var current_wave = 0
var dead_enemies = 0
var monster_dict = {
1:5,
2:8,
3:10,
4:15,
5:18,
}
func _ready():
pass
#
func on_enemy_dead():
if dead_enemies == monster_dict[current_wave]:
$Wave_Break_Timer.start()
WaveManager.enemy_dead = 0
func spawn_enemies():
for i in range(monster_dict[current_wave]):
var m = ROBOT_MONSTER.instantiate()
print("spawning %s enemies" % [monster_dict[current_wave]])
var spawn_length = spawn_points.size()
var rand_spawn = rand.randi_range(0, spawn_length)
var spawn_pos = $SpawnPoints.get_child(rand_spawn).position
m.position = spawn_pos
add_child(m)
await get_tree().create_timer(2.0).timeout.connect(spawn_enemies)```