void SwitchToAngry() { SfxManager.instance.PlaySFX(angry, true); sprite.SetTrigger("angry"); state = VenusState.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); }
private void ResetAttackTime() { elapsedSinceLastAttack = 0; state = VenusState.IDLE; }
void SwitchToDying() { SfxManager.instance.PlaySFX(dying, true); state = VenusState.DYING; }
void SwitchToIdle() { sprite.SetTrigger("idle"); state = VenusState.IDLE; }
void UpdateIdle() { elapsedSinceLastAttack += Time.deltaTime * GameManager.instance.speed; int range = 2; if (halfway) { range = 3; } if (elapsedSinceLastAttack > timeBetweenShots) { int r = Random.Range(0, range); switch (r) { case 0: DoIdleBlasts(); break; case 1: DoSweep(); break; case 2: DoCross(); break; } SfxManager.instance.PlaySFX(attack); state = VenusState.ATTACK1; //sprite.SetTrigger("attack"); } 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? } }