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);
     }
 }
Beispiel #2
0
 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);
         }
     }
 }
Beispiel #3
0
 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);
     }
 }