public void WallJumpUpdate()
        {
            if (InputDelayInEffect())
            {
                return;
            }

            if (playerController.playerState.IsTouchingFloor())
            {
                return;
            }

            if (!playerController.playerState.IsTouchingWall() && !playerController.playerState.IsTouchingWallBehind())
            {
                return;
            }
            if (!input.JumpButtonPressed())
            {
                if (!playerController.playerControllerData.usePreEmptiveCoyoteTime)
                {
                    return;
                }
                if (playerController.pressedAt + playerController.playerControllerData.preEmptiveCoyoteTime < Time.timeSinceLevelLoad)
                {
                    return;
                }
            }

            CalculateWallJump();
            return;
        }
Пример #2
0
 public void JumpUpdate()
 {
     if (!input.JumpButtonPressed() && !input.JumpButtonLetGo() && !input.JumpButtonHeld())
     {
         if (!playerController.playerState.IsTouchingFloor() && playerController.currentVelocity.y > 0)
         {
             playerController.currentVelocity.y = 0;
         }
         playerController.playerState.NotJumping();
         return;
     }
     if (input.JumpButtonPressed())
     {
         CalcualteJump();
         playerController.lastTouchedGround = -1;
         return;
     }
     if (input.JumpButtonLetGo())
     {
         CalculateForWhenJumpButtonLetGo();
         playerController.playerState.NotJumping();
         return;
     }
 }