Beispiel #1
0
    IEnumerator Phase2Attack()
    {
        if (coll.transform.position.x > 13 || coll.transform.position.x < -13)
        {
            direction = -1 * direction;
            if (!halfHp)
            {
                if (UnityEngine.Random.value < .5)
                {
                    stage = FightingStages.Phase2;
                }
                else
                {
                    stage = FightingStages.Phase1;
                }
                StopAllCoroutines();
            }
        }
        if (halfHp)
        {
            if (coll.transform.position.y > 9.5)
            {
                direction2 = UnityEngine.Random.Range(-1f, -.4f);
            }
            if (coll.transform.position.y < -9.5)
            {
                direction2 = UnityEngine.Random.Range(.4f, 1f);
            }

            counterUntilPhaseChange += Time.deltaTime;
            if (counterUntilPhaseChange > phase2Length)
            {
                counterUntilPhaseChange = 0;
                if (UnityEngine.Random.value < .5)
                {
                    stage = FightingStages.Phase2;
                }
                else
                {
                    stage = FightingStages.Phase1;
                }
                StopAllCoroutines();
            }
        }

        for (int i = 0; i < BossSpawns.Length; i++)
        {
            yield return(new WaitForSeconds(1f));

            Instantiate(Shot, BossSpawns[i].gameObject.transform.position, BossSpawns[i].gameObject.transform.rotation);
        }



        //counterUntilPhaseChange++;
    }
Beispiel #2
0
    IEnumerator Phase1Attack()
    {
        if (coll.transform.position.x > 13 || (coll.transform.position.x < -13))
        {
            direction = -1 * direction;
            if (!halfHp)
            {
                if (UnityEngine.Random.value < .5)
                {
                    stage = FightingStages.Phase2;
                }
                else
                {
                    stage = FightingStages.Phase1;
                }
                StopAllCoroutines();
            }
        }
        if (halfHp)
        {
            if (coll.transform.position.y > 9.5)
            {
                direction2 = UnityEngine.Random.Range(-1f, -.4f);
            }
            if (coll.transform.position.y < -9.5)
            {
                direction2 = UnityEngine.Random.Range(.4f, 1f);
            }

            counterUntilPhaseChange += Time.deltaTime;
            if (counterUntilPhaseChange > phase2Length)
            {
                counterUntilPhaseChange = 0;
                if (UnityEngine.Random.value < .5)
                {
                    stage = FightingStages.Phase2;
                }
                else
                {
                    stage = FightingStages.Phase1;
                }
                StopAllCoroutines();
            }
        }
        //theBoss.transform.Translate(direction*speed * Time.deltaTime, 0, 0);
        yield return(new WaitForSeconds(1f));

        Instantiate(Shot, shotSpawn.position, shotSpawn.rotation);

        //counterUntilPhaseChange++;
    }