private void Update()
 {
     if (timer > 0 && Next != null)
     {
         timer -= Time.deltaTime;
         if (timer <= 0)
         {
             Next.WormShoot(delay);
         }
     }
 }
Exemple #2
0
 // Update is called once per frame
 void Update()
 {
     ai.enabled = FirstPerson.GUN_AQUIRED;
     //return;
     if (first != null)
     {
         int l = first.WormMove(transform.position, dist);
         if (timer > 0 && l <= enrageLength)
         {
             timer -= Time.deltaTime;
             if (timer <= 0)
             {
                 first.WormShoot(fireDelay);
                 timer = fireRate;
             }
         }
     }
     else
     {
         timer -= Time.deltaTime;
         if (timer <= 0)
         {
             if (enrageState)
             {
                 ai.Speed   = speed * 1.5f;
                 ai.Agility = 0;
             }
             else
             {
                 ai.Speed   = 0;
                 ai.Agility = agility * 1.75f;
             }
             timer       = finalEnragePeriod;
             enrageState = !enrageState;
         }
         if (enrageState && FirstPerson.PLAYER != null)
         {
             Vector3 target = transform.position;
             target.y           = FirstPerson.PLAYER.transform.position.y;
             transform.position = Vector3.MoveTowards(transform.position, target, speed / 3 * Time.deltaTime);
         }
     }
 }