private void OnAnticipation() { m_anticipationParticle.Play(); m_currState = ManHoleState.Anticipation; m_currTimer = m_anticipationDuration; }
private void OnAttack() { m_attackSoundInstance.start(); m_anticipationParticle.Stop(); m_attackTrigger.Enable(m_attackStruct.attackDatas[0]); m_attackParticle.Play(); m_currState = ManHoleState.Attack; m_currTimer = m_attackDuration; }
private void OnWait() { m_attackSoundInstance.stop(FMOD.Studio.STOP_MODE.ALLOWFADEOUT); m_attackParticle.Stop(); m_attackTrigger.Disable(); m_anticipationParticle.Stop(); m_currState = ManHoleState.Wait; m_currTimer = m_waitDuration; }
public void SwitchToNextState() { if (m_isActive) { m_currState++; if (m_currState == ManHoleState.StateCount) { m_currState = 0; } SwitchToState(m_currState); } else { SwitchToState(ManHoleState.Wait); } }
private void SwitchToState(ManHoleState state) { switch (state) { case ManHoleState.Wait: OnWait(); break; case ManHoleState.Anticipation: OnAnticipation(); break; case ManHoleState.Attack: OnAttack(); break; default: break; } }