public void Move(float horiz) { if (isDashing) { return; } float moveDelta = 0; float _acceleration = acceleration * Time.deltaTime; if (wJumpMoveSleepTimer > 0) { horiz = 0; if (wallOnRightSide) { moveInputX = -1; } else { moveInputX = 1; } } else { if (!isGrounded) { moveDelta = _acceleration / 2; } else if (moveInputX > 0 && horiz <= 0 || moveInputX <= 0 && horiz > 0) { moveDelta = _acceleration * 2; } else { moveDelta = _acceleration; } GameObject wallTouchedRight = CheckWallRight(); GameObject wallTouchedLeft = CheckWallLeft(); if (wallTouchedRight != null && horiz > 0) { moveInputX = 0; if (!isGrounded) { StartWallSlide(true, wallTouchedRight); } else if (isWallSliding) { EndWallSlide(); } } else if (wallTouchedLeft != null && horiz < 0) { moveInputX = 0; if (!isGrounded) { StartWallSlide(false, wallTouchedLeft); } else if (isWallSliding) { EndWallSlide(); } } else { moveInputX = Mathf.MoveTowards(moveInputX, horiz, moveDelta); if (isWallSliding) { EndWallSlide(); } } } if (moveInputX != 0) { grCheckOffsetX = grCheckMoveOffsetX; } else { grCheckOffsetX = 0; } //rb.velocity = new Vector2(moveInputX * speed, rb.velocity.y); if (!playerAnim.IsFacingRight() && moveInputX > 0) { playerAnim.LookRight(); } else if (playerAnim.IsFacingRight() && moveInputX < 0) { playerAnim.LookLeft(); } }