public virtual void SetControllerMoveSpeed(tpcMovementSpeed speed) { if (speed.walkByDefault) { moveSpeed = Mathf.Lerp(moveSpeed, isSprinting ? speed.runningSpeed : speed.walkSpeed, speed.movementSmooth * Time.deltaTime); } else { moveSpeed = Mathf.Lerp(moveSpeed, isSprinting ? speed.sprintSpeed : speed.runningSpeed, speed.movementSmooth * Time.deltaTime); } }
public tpcMovementSpeed GetMovementSpeed() { tpcMovementSpeed movement = freeSpeed; if (isCrouched && !isADS) { movement = crouchSpeed; } else if (isStrafing) { movement = strafeSpeed; } return(movement); }
public virtual void SetAnimatorMoveSpeed(tpcMovementSpeed speed) { Vector3 relativeInput = transform.InverseTransformDirection(moveDirection); verticalSpeed = relativeInput.z; horizontalSpeed = relativeInput.x; var newInput = new Vector2(verticalSpeed, horizontalSpeed); if (speed.walkByDefault) { inputMagnitude = Mathf.Clamp(newInput.magnitude, 0, isSprinting ? runningSpeed : walkSpeed); } else { inputMagnitude = Mathf.Clamp(isSprinting ? newInput.magnitude + 0.5f : newInput.magnitude, 0, isSprinting ? sprintSpeed : runningSpeed); } }