Esempio n. 1
0
    void SwitchToDying()
    {
        SfxManager.instance.PlaySFX(dying, true);

        /*
         * aS.Stop();
         * aS.clip = dying;
         * aS.Play();*/

        state = NeptuneState.DYING;
    }
Esempio n. 2
0
    void SwitchToAngry()
    {
        SfxManager.instance.PlaySFX(angry, true);

        /*
         * aS.loop = false;
         * aS.Stop();
         * aS.clip = angry;
         * aS.Play();*/

        sprite.SetTrigger("angry");
        state = NeptuneState.ANGRY;
        GameManager.instance.AddTimer(1, MakeCameraShake);

        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);
    }
Esempio n. 3
0
 void SwitchToIdle()
 {
     sprite.SetTrigger("idle");
     state = NeptuneState.IDLE;
 }
Esempio n. 4
0
    void UpdateIdle()
    {
        elapsedSinceLastAttack += Time.deltaTime * GameManager.instance.speed;

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

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

            case 1:
                SpawnIcicleShots();
                break;

            case 2:
                break;
            }

            state = NeptuneState.ATTACK1;
            sprite.SetTrigger("attack");

            int rand = Random.Range(1, 11);
            if (rand > 4)
            {
                SfxManager.instance.PlaySFX(attack);

                /*aS.Stop();
                *  aS.clip = attack;
                *  aS.Play();*/
            }
        }

        if (!halfway)
        {
            float diff = GetComponent <Damageable>().maxHealth - GetComponent <Damageable>().currentHealth;
            if (diff >= GetComponent <Damageable>().maxHealth * 0.5f)
            {
                halfway = true;
                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?
        }
    }