// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    //override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    //{
    //
    //}

    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    //override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    //{
    //
    //}

    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        //get reference to playerFSMs current state
        PlayerFSM playerFSM = PlayerFSM.GetPlayerFSM();

        if (playerFSM.GetCurrentState() == playerFSM.climbLedgeState)
        {
            ClimbLedge climbLedge = playerFSM.GetCurrentState() as ClimbLedge;
            climbLedge.ClimbLedgeAnimCompleted();
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     playerFSM = PlayerFSM.GetPlayerFSM();
 }