// Use this for initialization void Start() { _playerObject = GameObject.Find("Player"); _anim = GetComponent <Animator> (); _warningHUD = GameObject.Find("WarningHUD").GetComponent <WarningHUD>(); _mainGame = GameObject.FindGameObjectWithTag("MainGame").GetComponent <MainGame> (); _attackers = GameObject.Find("Attackers"); _originalWalkSpeed = walkSpeed; }
protected override IEnumerator StagePattern() { switch (startWave) { case Wave.Intro: goto INTRO; case Wave.Wave1: goto WAVE_1; case Wave.Wave2: goto WAVE_2; case Wave.Wave3: goto WAVE_3; } INTRO: // Intro yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(1f, UDETime.TimeScale.ENEMY))); for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { LambdaPatternEnemy spirit = SummonEnemy(enemies[WhiteSpirit]) as LambdaPatternEnemy; spirit.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(new Vector3(1.1f, 0.05f + 0.2f * j + 0.1f * i, 0)), Quaternion.Euler(0, 0, 0)); spirit.Initialize(IntroWhiteSpiritPattern, 1, UDEBaseShotPattern.RemoveBulletsOnDeath.NONE, bullets[GreenLuminusBullet]); yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(0.1f, UDETime.TimeScale.ENEMY))); } yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(0.6f, UDETime.TimeScale.ENEMY))); } yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(13.5f, UDETime.TimeScale.ENEMY))); WAVE_1: // Wave 1 Vector3[] fairySummonPositions = { new Vector3(1.1f, 0.7f), new Vector3(1.1f, 0.2f), new Vector3(1.1f, 0.8f), new Vector3(1.1f, 0.5f), new Vector3(1.1f, 0.25f), new Vector3(1.1f, 0.69f), new Vector3(1.1f, 0.73f), new Vector3(1.1f, 0.35f) }; for (int i = 0; i < fairySummonPositions.Length; i++) { LambdaPatternEnemy fairy = SummonEnemy(enemies[Fairy]) as LambdaPatternEnemy; fairy.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(fairySummonPositions[i]), Quaternion.Euler(0, 0, 0)); fairy.Initialize(Wave1FairyPattern, 9, UDEBaseShotPattern.RemoveBulletsOnDeath.NONE, bullets[LightBlueLuminusBullet]); fairy.ShowHealthAndSpecllCount(); yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(2.25f, UDETime.TimeScale.ENEMY))); } yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(1.5f, UDETime.TimeScale.ENEMY))); WAVE_2: // Wave 2 LambdaPatternEnemy fairyRed = SummonEnemy(enemies[FairyRed]) as LambdaPatternEnemy; fairyRed.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(new Vector3(1.1f, 0.5f, 0)), Quaternion.Euler(0, 0, 0)); fairyRed.Initialize(Wave2FairyPattern, 45, UDEBaseShotPattern.RemoveBulletsOnDeath.NONE, bullets[GreenCircleBullet], bullets[RedCircleBullet], bullets[LightBlueCircleBullet]); fairyRed.ShowHealthAndSpecllCount(); yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(5f, UDETime.TimeScale.ENEMY))); fairyRed = SummonEnemy(enemies[FairyRed]) as LambdaPatternEnemy; fairyRed.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(new Vector3(1.1f, 0.7f, 0)), Quaternion.Euler(0, 0, 0)); fairyRed.Initialize(Wave2FairyPattern, 45, UDEBaseShotPattern.RemoveBulletsOnDeath.NONE, bullets[GreenCircleBullet], bullets[RedCircleBullet], bullets[LightBlueCircleBullet]); fairyRed.ShowHealthAndSpecllCount(); yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(5f, UDETime.TimeScale.ENEMY))); fairyRed = SummonEnemy(enemies[FairyRed]) as LambdaPatternEnemy; fairyRed.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(new Vector3(1.1f, 0.3f, 0)), Quaternion.Euler(0, 0, 0)); fairyRed.Initialize(Wave2FairyPattern, 45, UDEBaseShotPattern.RemoveBulletsOnDeath.NONE, bullets[GreenCircleBullet], bullets[RedCircleBullet], bullets[LightBlueCircleBullet]); fairyRed.ShowHealthAndSpecllCount(); yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(4f, UDETime.TimeScale.ENEMY))); fairyRed = SummonEnemy(enemies[FairyRed]) as LambdaPatternEnemy; fairyRed.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(new Vector3(1.1f, 0.6f, 0)), Quaternion.Euler(0, 0, 0)); fairyRed.Initialize(Wave2FairyPattern, 45, UDEBaseShotPattern.RemoveBulletsOnDeath.NONE, bullets[GreenCircleBullet], bullets[RedCircleBullet], bullets[LightBlueCircleBullet]); fairyRed.ShowHealthAndSpecllCount(); yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(4f, UDETime.TimeScale.ENEMY))); fairyRed = SummonEnemy(enemies[FairyRed]) as LambdaPatternEnemy; fairyRed.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(new Vector3(1.1f, 0.4f, 0)), Quaternion.Euler(0, 0, 0)); fairyRed.Initialize(Wave2FairyPattern, 45, UDEBaseShotPattern.RemoveBulletsOnDeath.NONE, bullets[GreenCircleBullet], bullets[RedCircleBullet], bullets[LightBlueCircleBullet]); fairyRed.ShowHealthAndSpecllCount(); yield return(StartCoroutine(UDETime.Instance.WaitForScaledSeconds(8f, UDETime.TimeScale.ENEMY))); UDEObjectManager.Instance.DestroyAllEnemies(); WAVE_3: // Wave 3 WarningHUD warning = GameObject.Find("WarningHUD").GetComponent <WarningHUD>(); warning.Warn(); EnemyBase sheroSub = SummonEnemy(subBoss[SheroSub]) as EnemyBase; sheroSub.transform.SetPositionAndRotation(Camera.main.ViewportToWorldPoint(new Vector3(1.1f, 0.4f, 0)), Quaternion.Euler(0, 0, 0)); sheroSub.Initialize(); sheroSub.ShowHealthAndSpecllCount(); }