void SwitchToDying() { SfxManager.instance.PlaySFX(dying, true); /* * aS.Stop(); * aS.clip = dying; * aS.Play();*/ state = NeptuneState.DYING; }
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); }
void SwitchToIdle() { sprite.SetTrigger("idle"); state = NeptuneState.IDLE; }
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? } }