Beispiel #1
0
    /// <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);
    }
Beispiel #2
0
    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);
    }
Beispiel #4
0
    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;
    }