public bool ToIdle(Idle idle, Jumping jumping, Crouching crouching, Sliding sliding)
 {
     return(idle.IsIdle() &&
            !jumping.IsJumping() &&
            (!crouching.IsCrouching && !crouching.Rising) &&
            !sliding.IsSliding);
 }
    public bool ToJump(Jumping jumping, bool isWallRunning, bool isWallJumping)
    {
        bool wallJumped = !isWallRunning || isWallJumping;

        return(jumping.IsJumping() &&
               wallJumped &&
               !FixInitialNotGrounded());
    }
 public bool WallRunToWalk(Jumping jumping, Walking walking, bool isWallRunning)
 {
     return(!isWallRunning &&
            !jumping.IsJumping() &&
            walking.IsWalking());
 }
 public bool WallRunToSprint(Jumping jumping, bool isWallRunning, bool preserveSprint)
 {
     return(!isWallRunning &&
            !jumping.IsJumping() &&
            preserveSprint);
 }
 public bool JumpToWalk(Jumping jumping, Walking walking, bool preserveSprint)
 {
     return(!jumping.IsJumping() && !jumping.ToSlide && !preserveSprint && walking.IsWalking());
 }
 public bool JumpToSprint(Jumping jumping, bool preserveSprint)
 {
     return(!jumping.IsJumping() && !jumping.ToSlide && preserveSprint);
 }
 public bool JumpToSlide(Jumping jumping)
 {
     return(!jumping.IsJumping() && jumping.ToSlide);
 }