void SwitchToDying() { state = UranusState.DYING; foreach (SpinningRing r in FindObjectsOfType <SpinningRing>()) { r.End(); } }
void SwitchToIdle() { sprite.SetTrigger("idle"); state = UranusState.IDLE; if (halfway) { } }
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? } }
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); }
private void ResetAttackTime() { elapsedSinceLastAttack = 0; state = UranusState.IDLE; }