He definido puntos de respawn de enemigos, distintos para torretas y hoverbots, agrupados bajo game objects vacíos.
He centralizado todo en un manager (EnemyRespawnManager) donde puedo poner una lista de prefabs de enemigos (HoverBot/Turret, etc.). y suscribirse a EnemyKillEvent (ya se emite desde EnemyManager.UnregisterEnemy()).
Pero ahora mismo sólo tengo respawn de hover bots... me gustaría gestionar también -pero de forma separada el de torretas, contabilizándolas aparte- (sólo al morir una torreta aparece otra... y como sólo va a haber un punto de respawn pues ahí saldrá)
Al recibir EnemyKillEvent:
Esperar un delay (coroutine) si quieres (10 s en mi caso).
Faltaría por elegir un spawn point aleatorio (opcional: lejos del jugador / fuera de visión).
Instanciar el prefab en ese punto.
¡Ojo! Asegurarte de que el enemigo nuevo queda registrado en EnemyManager (ya ocurre en EnemyController.Start() con RegisterEnemy(this)).
Arreglar el caso “cae del mapa”:
Conceptualmente, hacer que esa muerte también termine llamando a la misma ruta que emite EnemyKillEvent (si no, tu respawn/contador no se enterará).
He definido puntos de respawn de enemigos, distintos para torretas y hoverbots, agrupados bajo game objects vacíos.
He centralizado todo en un manager (EnemyRespawnManager) donde puedo poner una lista de prefabs de enemigos (HoverBot/Turret, etc.). y suscribirse a EnemyKillEvent (ya se emite desde EnemyManager.UnregisterEnemy()).
Pero ahora mismo sólo tengo respawn de hover bots... me gustaría gestionar también -pero de forma separada el de torretas, contabilizándolas aparte- (sólo al morir una torreta aparece otra... y como sólo va a haber un punto de respawn pues ahí saldrá)
Al recibir EnemyKillEvent:
Esperar un delay (coroutine) si quieres (10 s en mi caso).
Faltaría por elegir un spawn point aleatorio (opcional: lejos del jugador / fuera de visión).
Instanciar el prefab en ese punto.
¡Ojo! Asegurarte de que el enemigo nuevo queda registrado en EnemyManager (ya ocurre en EnemyController.Start() con RegisterEnemy(this)).
Arreglar el caso “cae del mapa”:
Conceptualmente, hacer que esa muerte también termine llamando a la misma ruta que emite EnemyKillEvent (si no, tu respawn/contador no se enterará).