public void Execute()
    {
        if (AmmoFired < myBoss.BulletsAmount)
        {
            myBoss.MyWeapon.Aim(myBoss.Target.transform.position);

            if (myBoss.MyWeapon.Shoot())
            {
                AmmoFired++;
            }
        }

        else
        {
            if (myBoss.NextPosition == myBoss.ShootingPositions[0])
            {
                int i = Random.Range(0, 2);

                if (i == 0)
                {
                    myBoss.ChangeState(new ChargingState());
                }
                else
                {
                    myBoss.ChangeState(new SpawningEggsState());
                }
            }
            else
            {
                myBoss.NextState = new ShootingState();
                myBoss.ChangeState(new MovingState());
            }
        }
    }
Beispiel #2
0
    public void Execute()
    {
        if (!myBoss.IsCharging)
        {
            if (chargeCount == myBoss.MaxChargesCount)
            {
                int i = Random.Range(0, 2);

                if (i == 0)
                {
                    myBoss.NextState = new ShootingState();
                    myBoss.ChangeState(new MovingState());
                }
                else
                {
                    myBoss.ChangeState(new SpawningEggsState());
                }
            }
            else
            {
                chargeCount++;
                myBoss.StartCoroutine(myBoss.ChargeAtPlayer());
            }
        }
    }
Beispiel #3
0
 public void Execute()
 {
     if (myBoss.transform.position == myBoss.NextPosition)
     {
         myBoss.ChangeState(myBoss.NextState);
     }
 }
 public void Execute()
 {
     if (!myBoss.IsSpawning)
     {
         myBoss.ChangeState(new ChargingState());
     }
 }