public void SetRebirthEnemy(Ghost ghost) { if (ghost.type == GhostType.JUNIOR) { EnemyJunior enemy = EnemyManager.instance.SetEnemy(enemyJuniorPrefab, ghost.rebirthPosition); enemy.IsBossMode = IsBossMode; } else if (ghost.type == GhostType.SENIOR) { EnemySenior enemy = EnemyManager.instance.SetEnemy(enemySeniorPrefab, ghost.rebirthPosition); enemy.IsBossMode = IsBossMode; } }
//============= //Final Battle //============= IEnumerator FinalBossBattle() { #if SHOW_DEBUG_LOG Debug.Log("Start final battle"); #endif SetBossMode(true); Vector3[] enemyPositions = new Vector3[4] { new Vector3(0f, 0f, -6f), new Vector3(-5f, 0f, 1f), new Vector3(0f, 0f, 9f), new Vector3(5f, 0f, 1f) }; for (int i = 0; i < 4; i++) { EnemyJunior enemy = EnemyManager.instance.SetEnemy(baseEnmeyPrefab, enemyPositions[i]); enemy.IsBossMode = true; yield return(new WaitForSeconds(0.45f)); } while (!EnemyManager.instance.IsEmpty || !GhostManager.instance.IsFixedEmpty) { yield return(new WaitForSeconds(0.1f)); } yield return(new WaitForSeconds(1f)); enemyPositions = new Vector3[4] { new Vector3(4f, 0f, 8f), new Vector3(-4f, 0f, 8f), new Vector3(-5f, 0f, -5f), new Vector3(5f, 0f, -5f) }; for (int i = 0; i < 4; i++) { EnemyJunior enemy = EnemyManager.instance.SetEnemy(baseEnmeyPrefab, enemyPositions[i]); enemy.IsBossMode = true; yield return(new WaitForSeconds(0.45f)); } while (!EnemyManager.instance.IsEmpty || !GhostManager.instance.IsFixedEmpty) { yield return(new WaitForSeconds(0.1f)); } yield return(new WaitForSeconds(1f)); ko_Shi.Phase = 5; ro_Shi.Phase = 5; ko_Shi.MoveIn(); ro_Shi.MoveIn(); yield return(new WaitForSeconds(3f)); HUDManager.instance.ShowHPBar(BOSS_ID_KO_SHI); HUDManager.instance.ShowHPBar(BOSS_ID_RO_SHI); }