예제 #1
0
    public virtual void UpdateRun()
    {
        InputManager.Instance.UpdateInput();
        m_myCharacter.transform.position += (m_myCharacter.transform.forward * Time.deltaTime * m_myCharacter.m_RunSpeed);

        if (m_myCharacter.CheckAllLayer(LayerMask.GetMask("Victory"), out m_rayCastHit, 1.5f))
        {
            ChangeState(E_CHARACTER_STATE.VICTORY);
        }
        else if (!m_myCharacter.CheckAllLayer(LayerMask.GetMask("Ground"), out m_rayCastHit, 1.5f))
        {
            if (m_myCharacter.StackCount <= 0)
            {
                ChangeState(E_CHARACTER_STATE.JUMP);
            }
            else if (m_myCharacter.StackCount > 0)
            {
                ChangeState(E_CHARACTER_STATE.SPRINT);
            }
        }
    }