Esempio n. 1
0
    // 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;
    }
Esempio n. 2
0
        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();
        }