Example #1
0
 public void SetCarSimNormal()
 {
     if (simUpdateRate != SimUpdateRate.Normal)
     {
         simUpdateRate = SimUpdateRate.Normal;
     }
 }
Example #2
0
    public void Init()
    {
        if (inited)
        {
            return;
        }
        inited = true;


        //Debug.Log("Car " + gameObject.name + " was initiated");

        allRenderers = GetComponentsInChildren <Renderer>().ToList <Renderer>();

        simUpdateRate = SimUpdateRate.Normal;

        inAccident = false;
        if (aiMotor == null)
        {
            aiMotor = GetComponentInChildren <TrafAIMotor>();
        }
        aiMotor.rb.velocity        = Vector3.zero;
        aiMotor.rb.angularVelocity = Vector3.zero;

        if (carColliders == null)
        {
            carColliders = GetComponentsInChildren <Collider>().ToList <Collider>();
        }
        if (renderers == null)
        {
            renderers = GetComponentsInChildren <Renderer>();
        }
        if (brakeLightControls.Count < 1)
        {
            brakeLightControls.AddRange(GetComponentsInChildren <BrakeLightController>());
        }
        turnSignalLeft.ForEach(r => SetLight(r, false));
        turnSignalRight.ForEach(r => SetLight(r, false));
        SetHeadLights(HeadLightState.Off);

        CheckTimeOfDayEvents();

        var interval = TrafPerfManager.performanceCheckInterval;

        if (TrafPerfManager.optimizeDistantCarRender &&
            TrafPerfManager.optimizeDistantCarPhysics)
        {
            InvokeRepeating(nameof(UpdateCarPerformance), Random.Range(0.0f, interval), interval);
        }
        else if (TrafPerfManager.optimizeDistantCarRender)
        {
            InvokeRepeating(nameof(UpdateCarPerformanceRenderOnly), Random.Range(0.0f, interval), interval);
        }
        else if (TrafPerfManager.optimizeDistantCarPhysics)
        {
            InvokeRepeating(nameof(UpdateCarPerformancePhysicsOnly), Random.Range(0.0f, interval), interval);
        }
    }
Example #3
0
 public void SetCarSimLow()
 {
     if (simUpdateRate != SimUpdateRate.Low)
     {
         simUpdateRate                  = SimUpdateRate.Low;
         aiMotor.lowResTimestamp        = Time.time;
         aiMotor.lowResPhysicsTimestamp = Time.fixedTime;
     }
 }