public void ApplyMovement() { if (invertedControls) { input.Invert(); } if (IsGrounded()) { if (input.isJumping) { rigidbody.AddForce(transform.up * jumpForce); } rigidbody.velocity = new Vector2(input.horizontalInput * speed, rigidbody.velocity.y); } else { rigidbody.velocity = new Vector2(Mathf.Clamp(rigidbody.velocity.x + input.horizontalInput * inAirSpeed, -speed, speed), rigidbody.velocity.y); } //direction direction = (input.horizontalInput == 0) ? direction : (input.horizontalInput > 0) ? Actor.MovementDirection.RIGHT : Actor.MovementDirection.LEFT; spriteRenderer.flipX = direction == MovementDirection.LEFT; }