Muerte “por caer del mapa” del enemigo no pasa por la lógica de kill: en EnemyController.EnsureIsWithinLevelBounds() si cae por debajo de SelfDestructYHeight hace Destroy(gameObject) directamente, sin UnregisterEnemy() (ni evento EnemyKillEvent).
Pensando en el futuro, esto puede descuadrar contadores/objetivos (EnemyManager y ObjectiveKillEnemies dependen del evento de kill).
Muerte “por caer del mapa” del enemigo no pasa por la lógica de kill: en EnemyController.EnsureIsWithinLevelBounds() si cae por debajo de SelfDestructYHeight hace Destroy(gameObject) directamente, sin UnregisterEnemy() (ni evento EnemyKillEvent).
Pensando en el futuro, esto puede descuadrar contadores/objetivos (EnemyManager y ObjectiveKillEnemies dependen del evento de kill).