public override void Steer(Vector2 steerInput) { if (mode == Mode.PhysicsDriven) { steerVel = LocomotionUtils.StickInputToWorldSpaceTransform(steerInput, LocomotionUtils.AxisIndex.Z); steerVel *= (isFloatingOnWater ? mutableData.ImpulseScaleOnWater : mutableData.ImpulseScale); base.Broadcaster.BroadcastOnStickDirectionEvent(steerInput); base.Broadcaster.BroadcastOnSteerDirectionEvent(steerVel); } }
public override void SteerRotation(Vector2 steerInput) { if (!Behaviour.IgnoreStickInput) { Vector3 wsSteerInput = LocomotionUtils.StickInputToWorldSpaceTransform(steerInput, LocomotionUtils.AxisIndex.Z); if (snapToDesiredFacing || (int)Vector3.Angle(desiredFacing, wsSteerInput) > mutableData.IdleParams.RotationDegreesOffsetThreshold) { applySteerRotation(ref wsSteerInput); } } }
public override void Steer(Vector2 steerInput) { if (!Behaviour.IgnoreStickInput) { float magnitude = steerInput.magnitude; wsSteerDir = LocomotionUtils.StickInputToWorldSpaceTransform(steerInput, LocomotionUtils.AxisIndex.Z); wsSteerDir = Vector3.ClampMagnitude(wsSteerDir, magnitude); base.Broadcaster.BroadcastOnStickDirectionEvent(steerInput); base.Broadcaster.BroadcastOnSteerDirectionEvent(wsSteerDir); } }