/// <summary> /// Set Drivetrain Mode. /// </summary> public static void SetDrivetrainMode(RCC_CarControllerV3 vehicle, RCC_CarControllerV3.WheelType mode) { if (!CheckVehicle(vehicle)) { return; } vehicle.wheelTypeChoise = mode; OverrideRCC(vehicle); }
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (!carController) { return; } // Sending all inputs, position, rotation, and velocity to the server. if (stream.IsWriting) { //We own this player: send the others our data stream.SendNext(carController.gasInput); stream.SendNext(carController.brakeInput); stream.SendNext(carController.steerInput); stream.SendNext(carController.handbrakeInput); stream.SendNext(carController.boostInput); stream.SendNext(carController.clutchInput); stream.SendNext(carController.idleInput); stream.SendNext(carController.currentGear); stream.SendNext(carController.direction); stream.SendNext(carController.changingGear); stream.SendNext(carController.semiAutomaticGear); //stream.SendNext(carController.fuelInput); stream.SendNext(carController.engineRunning); stream.SendNext(carController.lowBeamHeadLightsOn); stream.SendNext(carController.highBeamHeadLightsOn); stream.SendNext(carController.indicatorsOn); //Customizations stream.SendNext(carController.FrontLeftWheelCollider.wheelCollider.suspensionDistance); stream.SendNext(carController.FrontRightWheelCollider.wheelCollider.suspensionDistance); stream.SendNext(carController.RearLeftWheelCollider.wheelCollider.suspensionDistance); stream.SendNext(carController.RearRightWheelCollider.wheelCollider.suspensionDistance); for (int i = 0; i < wheelColliders.Length; i++) { stream.SendNext(wheelColliders[i].camber); } stream.SendNext(carController.applyEngineTorqueToExtraRearWheelColliders); stream.SendNext(carController._wheelTypeChoise); stream.SendNext(carController.biasedWheelTorque); stream.SendNext(carController.canGoReverseNow); stream.SendNext(carController.engineTorque); stream.SendNext(carController.brakeTorque); stream.SendNext(carController.minEngineRPM); stream.SendNext(carController.maxEngineRPM); stream.SendNext(carController.engineInertia); stream.SendNext(carController.useRevLimiter); stream.SendNext(carController.useExhaustFlame); //stream.SendNext(carController.useClutchMarginAtFirstGear); stream.SendNext(carController.highspeedsteerAngle); stream.SendNext(carController.highspeedsteerAngleAtspeed); stream.SendNext(carController.antiRollFrontHorizontal); stream.SendNext(carController.antiRollRearHorizontal); stream.SendNext(carController.antiRollVertical); stream.SendNext(carController.maxspeed); //stream.SendNext(carController.engineHeat); //stream.SendNext(carController.engineHeatRate); stream.SendNext(carController.totalGears); stream.SendNext(carController.gearShiftingDelay); //stream.SendNext(carController.gearShiftingThreshold); //stream.SendNext(carController.clutchInertia); ///stream.SendNext(carController.NGear); stream.SendNext(carController.launched); stream.SendNext(carController.ABS); stream.SendNext(carController.ABSThreshold); stream.SendNext(carController.TCS); stream.SendNext(carController.TCSThreshold); stream.SendNext(carController.ESP); stream.SendNext(carController.ESPThreshold); stream.SendNext(carController.steeringHelper); stream.SendNext(carController.steerHelperLinearVelStrength); stream.SendNext(carController.steerHelperAngularVelStrength); stream.SendNext(carController.tractionHelper); stream.SendNext(carController.tractionHelperStrength); stream.SendNext(carController.applyCounterSteering); stream.SendNext(carController.useNOS); stream.SendNext(carController.useTurbo); stream.SendNext(transform.position); stream.SendNext(transform.rotation); stream.SendNext(rigid.velocity); } else { // Network player, receiving all inputs, position, rotation, and velocity from server. gasInput = (float)stream.ReceiveNext(); brakeInput = (float)stream.ReceiveNext(); steerInput = (float)stream.ReceiveNext(); handbrakeInput = (float)stream.ReceiveNext(); boostInput = (float)stream.ReceiveNext(); clutchInput = (float)stream.ReceiveNext(); idleInput = (float)stream.ReceiveNext(); gear = (int)stream.ReceiveNext(); direction = (int)stream.ReceiveNext(); changingGear = (bool)stream.ReceiveNext(); semiAutomaticGear = (bool)stream.ReceiveNext(); //fuelInput = (float)stream.ReceiveNext(); engineRunning = (bool)stream.ReceiveNext(); lowBeamHeadLightsOn = (bool)stream.ReceiveNext(); highBeamHeadLightsOn = (bool)stream.ReceiveNext(); indicatorsOn = (RCC_CarControllerV3.IndicatorsOn)stream.ReceiveNext(); ///Customizations frontleftwheelSusp = (float)stream.ReceiveNext(); RearleftwheelSusp = (float)stream.ReceiveNext(); frontRighttwheelSusp = (float)stream.ReceiveNext(); RearRightwheelSusp = (float)stream.ReceiveNext(); for (int i = 0; i < wheelColliders.Length; i++) { cambers[i] = (float)stream.ReceiveNext(); } applyEngineTorqueToExtraRearWheelColliders = (bool)stream.ReceiveNext(); _wheelTypeChoise = (RCC_CarControllerV3.WheelType)stream.ReceiveNext(); biasedWheelTorque = (float)stream.ReceiveNext(); canGoReverseNow = (bool)stream.ReceiveNext(); engineTorque = (float)stream.ReceiveNext(); brakeTorque = (float)stream.ReceiveNext(); minEngineRPM = (float)stream.ReceiveNext(); maxEngineRPM = (float)stream.ReceiveNext(); engineInertia = (float)stream.ReceiveNext(); useRevLimiter = (bool)stream.ReceiveNext(); useExhaustFlame = (bool)stream.ReceiveNext(); //useClutchMarginAtFirstGear = (bool)stream.ReceiveNext(); highspeedsteerAngle = (float)stream.ReceiveNext(); highspeedsteerAngleAtspeed = (float)stream.ReceiveNext(); antiRollFrontHorizontal = (float)stream.ReceiveNext(); antiRollRearHorizontal = (float)stream.ReceiveNext(); antiRollVertical = (float)stream.ReceiveNext(); maxspeed = (float)stream.ReceiveNext(); //engineHeat = (float)stream.ReceiveNext(); //engineHeatMultiplier = (float)stream.ReceiveNext(); totalGears = (int)stream.ReceiveNext(); gearShiftingDelay = (float)stream.ReceiveNext(); //gearShiftingThreshold = (float)stream.ReceiveNext(); //clutchInertia = (float)stream.ReceiveNext(); //NGear = (bool)stream.ReceiveNext(); launched = (float)stream.ReceiveNext(); ABS = (bool)stream.ReceiveNext(); ABSThreshold = (float)stream.ReceiveNext(); TCS = (bool)stream.ReceiveNext(); TCSThreshold = (float)stream.ReceiveNext(); ESP = (bool)stream.ReceiveNext(); ESPThreshold = (float)stream.ReceiveNext(); steeringHelper = (bool)stream.ReceiveNext(); steerHelperLinearVelStrength = (float)stream.ReceiveNext(); steerHelperAngularVelStrength = (float)stream.ReceiveNext(); tractionHelper = (bool)stream.ReceiveNext(); tractionHelperStrength = (float)stream.ReceiveNext(); applyCounterSteering = (bool)stream.ReceiveNext(); useNOS = (bool)stream.ReceiveNext(); useTurbo = (bool)stream.ReceiveNext(); correctPlayerPos = (Vector3)stream.ReceiveNext(); correctPlayerRot = (Quaternion)stream.ReceiveNext(); currentVelocity = (Vector3)stream.ReceiveNext(); updateTime = Time.time; } }
/// <summary> /// Set Drivetrain Mode. /// </summary> public static void SetDrivetrainMode(RCC_CarControllerV3 car, RCC_CarControllerV3.WheelType mode) { car._wheelTypeChoise = mode; UpdateRCC(car); }
void GetValues() { correctPlayerPos = transform.position; correctPlayerRot = transform.rotation; gasInput = carController.gasInput; brakeInput = carController.brakeInput; steerInput = carController.steerInput; handbrakeInput = carController.handbrakeInput; boostInput = carController.boostInput; clutchInput = carController.clutchInput; idleInput = carController.idleInput; gear = carController.currentGear; direction = carController.direction; changingGear = carController.changingGear; semiAutomaticGear = carController.semiAutomaticGear; //fuelInput = carController.fuelInput; engineRunning = carController.engineRunning; lowBeamHeadLightsOn = carController.lowBeamHeadLightsOn; highBeamHeadLightsOn = carController.highBeamHeadLightsOn; indicatorsOn = carController.indicatorsOn; // Customization state frontleftwheelSusp = carController.FrontLeftWheelCollider.wheelCollider.suspensionDistance; frontRighttwheelSusp = carController.FrontRightWheelCollider.wheelCollider.suspensionDistance; RearleftwheelSusp = carController.RearLeftWheelCollider.wheelCollider.suspensionDistance; RearRightwheelSusp = carController.RearRightWheelCollider.wheelCollider.suspensionDistance; for (int i = 0; i < wheelColliders.Length; i++) { cambers[i] = wheelColliders[i].camber; } applyEngineTorqueToExtraRearWheelColliders = carController.applyEngineTorqueToExtraRearWheelColliders; _wheelTypeChoise = carController._wheelTypeChoise; biasedWheelTorque = carController.biasedWheelTorque; canGoReverseNow = carController.canGoReverseNow; engineTorque = carController.engineTorque; brakeTorque = carController.brakeTorque; minEngineRPM = carController.minEngineRPM; maxEngineRPM = carController.maxEngineRPM; engineInertia = carController.engineInertia; useRevLimiter = carController.useRevLimiter; useExhaustFlame = carController.useExhaustFlame; //useClutchMarginAtFirstGear = carController.useClutchMarginAtFirstGear; highspeedsteerAngle = carController.highspeedsteerAngle; highspeedsteerAngleAtspeed = carController.highspeedsteerAngleAtspeed; antiRollFrontHorizontal = carController.antiRollFrontHorizontal; antiRollRearHorizontal = carController.antiRollRearHorizontal; antiRollVertical = carController.antiRollVertical; maxspeed = carController.maxspeed; //engineHeat = carController.engineHeat; //engineHeatMultiplier = carController.engineHeatRate; totalGears = carController.totalGears; gearShiftingDelay = carController.gearShiftingDelay; //gearShiftingThreshold = carController.gearShiftingThreshold; //clutchInertia = carController.clutchInertia; //NGear = carController.NGear; launched = carController.launched; ABS = carController.ABS; TCS = carController.TCS; ESP = carController.ESP; TCSThreshold = carController.TCSThreshold; ESPThreshold = carController.ESPThreshold; ABSThreshold = carController.ABSThreshold; steeringHelper = carController.steeringHelper; steerHelperLinearVelStrength = carController.steerHelperLinearVelStrength; steerHelperAngularVelStrength = carController.steerHelperAngularVelStrength; tractionHelper = carController.tractionHelper; tractionHelperStrength = carController.tractionHelperStrength; applyCounterSteering = carController.applyCounterSteering; useNOS = carController.useNOS; useTurbo = carController.useTurbo; }