// ======================================================================================
    private void UpdateAnimator()
    {
        m_animator.SetDirection(m_states[m_actualState].m_facingDir);
        if (m_states[m_actualState].m_attack)
        {
            m_animator.StartAttack(m_states[m_actualState].m_attkType, m_states[m_actualState].m_upAttkDir, false);
            if (m_watcherToShowWeapon != null)
            {
                switch (m_states[m_actualState].m_attkType)
                {
                case PlayerAnimatorController.eAttackType.Fists:
                    m_watcherToShowWeapon.Drop();
                    break;

                case PlayerAnimatorController.eAttackType.Saber:
                    m_watcherToShowWeapon.PickSaber();
                    break;

                case PlayerAnimatorController.eAttackType.Pistol:
                    m_watcherToShowWeapon.PickPistol();
                    break;
                }
            }
        }
        else
        {
            m_animator.SetState(m_states[m_actualState].m_state);
        }
    }
    // ======================================================================================
    private void UpdateAnimator()
    {
        switch (State)
        {
        case eStates.Attack:

            switch (m_playerAttack.EquipWeap)
            {
            case PlayerAttack.eWeapon.Fists:
                m_playerAnimCtl.StartAttack(PlayerAnimatorController.eAttackType.Fists, m_playerAttack.AttackDirection.y, m_playerCtl.IsJumping);
                break;

            case PlayerAttack.eWeapon.Pistol:
                m_playerAnimCtl.StartAttack(PlayerAnimatorController.eAttackType.Pistol, m_playerAttack.AttackDirection.y, m_playerCtl.IsJumping);
                break;

            case PlayerAttack.eWeapon.Saber:
                m_playerAnimCtl.StartAttack(PlayerAnimatorController.eAttackType.Saber, m_playerAttack.AttackDirection.y, m_playerCtl.IsJumping);
                break;
            }
            break;

        case eStates.Idle:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.Idle);
            break;

        case eStates.Walking:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.Walking);
            break;

        case eStates.Jumping:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.Jumping);
            break;

        case eStates.Falling:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.Falling);
            break;

        case eStates.WallSliding:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.WallSliding);
            break;

        case eStates.WallEjecting:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.WallEjecting);                 // TO DO : Wall Eject
            break;

        case eStates.Dashing:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.Dashing);
            break;

        case eStates.Dead:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.Dead);
            break;

        case eStates.Stunned:
            m_playerAnimCtl.SetState(PlayerAnimatorController.eStates.Stunned);
            break;
        }

        switch (m_playerCtl.ForwardDir)
        {
        case PlayerController.eDirection.Left:
            m_playerAnimCtl.SetDirection(PlayerAnimatorController.eDirections.Left);
            break;

        case PlayerController.eDirection.Right:
            m_playerAnimCtl.SetDirection(PlayerAnimatorController.eDirections.Right);
            break;
        }
    }