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); } } }