protected override void HandleInput() { if (_inputManager.WallClimbButton.State.CurrentState == InfInput.ButtonStates.ButtonDown) { if (isNearWall) { StartWallClimb(); } } if (_inputManager.WallClimbButton.State.CurrentState == InfInput.ButtonStates.ButtonUp) { //If we are still climbing i.e. not jumped off before releasing the button or finishing the climb if (isClimbing) { StopWallClimb(); _movement.ChangeState(CharacterStates.MovementStates.Jumping); _Jump.JumpStart(); } } }