void Update()
 {
     if (_grabbingLedge == false && _climbingLadder == false)
     {
         CalculateMovement();
     }
     else if (_grabbingLedge == true)
     {
         if (Input.GetKeyDown(KeyCode.E))
         {
             if (_anim != null)
             {
                 _anim.SetTrigger("ClimbUp");
             }
         }
     }
     else if (_climbingLadder == true)
     {
         if (_startAtBottom == true)
         {
             _direction = new Vector3(0, 1, 0);
         }
         else
         {
             _direction = new Vector3(0, -1, 0);
             if (transform.position.y <= _currentLadder.GetBottomEndPosition().y)
             {
                 EndLadderClimb();
                 return;
             }
         }
         _velocity = _direction * _climbSpeed;
         if (_controller.enabled == true)
         {
             _controller.Move(_velocity * Time.deltaTime);
         }
     }
 }