extends Node3D signal matador_killed signal all_defeated @export var enemy_scene: PackedScene = null var _alive: int = 0 var _resolved: bool = false func _ready() -> void: add_to_group(&"matador_spawn") _spawn.call_deferred() func _spawn() -> void: if enemy_scene == null: return var bear: Node3D = enemy_scene.instantiate() bear.position = Vector3(-15,0,0) get_parent().add_child(bear) if bear.has_signal(&"killed"): bear.killed.connect(_on_bear_killed) _alive += 1 func _on_bear_killed() -> void: matador_killed.emit() _alive -= 1 if not _resolved: _resolved = true all_defeated.emit()