示例#1
0
        IEnumerator Attack3()
        {
            CanShootAttack3 = false;

            am.Play("LaserPowerUp", .4f);
            yield return(new WaitForSeconds(1f));

            for (int i = 0; i < Lasers.Count; i++)
            {
                Lasers[i].SetActive(true);
                Lasers[i].GetComponent <ParticleSystem>().Play();
            }


            yield return(new WaitForSeconds(.5f));

            for (int i = 0; i < Lasers.Count; i++)
            {
                Lasers[i].GetComponent <BoxCollider2D>().enabled = true;
            }

            am.Play("LaserShoot", .4f);
            yield return(new WaitForSeconds(2f));

            for (int i = 0; i < Lasers.Count; i++)
            {
                Lasers[i].GetComponent <BoxCollider2D>().enabled = false;
                Lasers[i].SetActive(false);
            }

            Stages = ChooseAttackToUse();

            CanShootAttack3 = true;
        }
示例#2
0
    void Awake()
    {
        bossStage     = GetComponent <BossStages>();
        enemyDefaults = GetComponent <EnemyDefaults>();

        phaseTwo  = GetComponent <MeleePhaseTwo>();
        barObject = transform.GetChild(0).gameObject;   // barObject MUST BE FIRST CHILD OF OBJECT THIS SCRIPT IS ATTACHED TO

        originalMoveDelay = phaseTwo.MoveDelay;
        barOrigPos        = barObject.transform.localPosition;
    }
示例#3
0
 void WatchForStageChange()
 {
     if (lifePoints <= lifepointsToChangeState)
     {
         bossStage = BossStages.Stage2;
     }
     //anim.SetTriggeer
     else
     {
         return;
     }
 }
示例#4
0
        IEnumerator Attack4()
        {
            CanShootAttack4 = false;

            yield return(new WaitForSeconds(2f));

            // Sheild Change
            ActiveShieldType = (ShipManagement.ShieldTypes)Random.Range(0, 4);
            UpdateShieldColours();

            Stages = ChooseAttackToUse();

            CanShootAttack4 = true;
        }
示例#5
0
        IEnumerator CycleAttacks(float DelayBeforeNextAttack)
        {
            ChooseNewAttack = false;

            if (!AttackChosen)
            {
                Stages       = ChooseAttackToUse();
                AttackChosen = true;
            }

            yield return(new WaitForSeconds(DelayBeforeNextAttack));

            ChooseNewAttack = true;
        }
示例#6
0
        IEnumerator Attack2()
        {
            CanShootAttack2 = false;

            yield return(new WaitForSeconds(1f));

            for (int i = 0; i < NumberOfMissilesToShoot; i++)
            {
                GameObject Go = EmWeapons.GetMissile();
                Go.GetComponent <MissileScript>().ShouldFindTarget = true;
                Go.transform.position = ChoosePosition(Attack2SpawnPoints).position;
                Go.SetActive(true);
                Go.GetComponent <Damage>().DMG = (int)BossWeapons[1].Damage[0];
                am.Play("MisslieShoot", .25f);
            }


            yield return(new WaitForSeconds(BossWeapons[1].Delay));

            Stages = ChooseAttackToUse();

            CanShootAttack2 = true;
        }