Пример #1
0
 void SwitchToDying()
 {
     state = UranusState.DYING;
     foreach (SpinningRing r in FindObjectsOfType <SpinningRing>())
     {
         r.End();
     }
 }
Пример #2
0
    void SwitchToIdle()
    {
        sprite.SetTrigger("idle");
        state = UranusState.IDLE;

        if (halfway)
        {
        }
    }
Пример #3
0
    void UpdateIdle()
    {
        elapsedSinceLastAttack += Time.deltaTime * GameManager.instance.speed;

        if (elapsedSinceLastAttack > timeBetweenShots)
        {
            int r = Random.Range(0, 2);

            switch (r)
            {
            case 0:
                CreateFollower();
                break;

            case 1:
                CreateSpawner(1);
                break;

            case 2:
                CreateSpawner(2);
                break;
            }

            state = UranusState.ATTACK1;
            //sprite.SetTrigger("attack");
        }

        if (!halfway)
        {
            float diff = GetComponent <Damageable>().maxHealth - GetComponent <Damageable>().currentHealth;
            if (diff >= GetComponent <Damageable>().maxHealth * 0.5f)
            {
                halfway          = true;
                timeBetweenShots = timeBetweenShots * 0.8f;
                SwitchToAngry();
                GameManager.instance.AddTimer(2, SwitchToIdle);
            }
        }

        if (GetComponent <Damageable>().died)
        {
            GameManager.instance.AddTimer(1, StartFalling);
            SwitchToDying();
            sprite.SetTrigger("sad");
            GetComponent <ContactDamager>().enabled = false;

            GameManager.instance.AddTimer(0f, AddSoundBlast);
            GameManager.instance.AddTimer(0.25f, AddSoundBlast);
            GameManager.instance.AddTimer(0.4f, AddSoundBlast);
            GameManager.instance.AddTimer(0.65f, AddSoundBlast);
            GameManager.instance.AddTimer(0.8f, AddSoundBlast);
            GameManager.instance.AddTimer(0.95f, AddSoundBlast);

            // add explosions here?
        }
    }
Пример #4
0
    void SwitchToAngry()
    {
        sprite.SetTrigger("angry");
        state = UranusState.ANGRY;
        GameManager.instance.AddTimer(1, MakeCameraShake);
        GameManager.instance.AddTimer(2, SwitchToIdle);

        GameManager.instance.AddTimer(1f, AddSoundBlast);
        GameManager.instance.AddTimer(1.25f, AddSoundBlast);
        GameManager.instance.AddTimer(1.4f, AddSoundBlast);
        GameManager.instance.AddTimer(1.65f, AddSoundBlast);
        GameManager.instance.AddTimer(1.8f, AddSoundBlast);
        GameManager.instance.AddTimer(1.95f, AddSoundBlast);
    }
Пример #5
0
 private void ResetAttackTime()
 {
     elapsedSinceLastAttack = 0;
     state = UranusState.IDLE;
 }