Example #1
0
        public void RefreshExposure()
        {
            if (mDispersing | mIsDispersed)
            {
                return;
            }

            if (mLastExposureUpdate < 0)
            {
                mLastExposureUpdate = WorldClock.AdjustedRealTime - WorldClock.ARTDeltaTime;
            }

            LightManager.CalculateExposure(this, (float)(WorldClock.AdjustedRealTime - mLastExposureUpdate));

            float dissipation = 1f - ((LightExposure + HeatExposure) / Globals.DarkrotMaxLightAndHeatExposure);

            SmokeEmitter.maxSize   = mMaxEmissionSize * dissipation;
            SmokeEmitter.maxEnergy = mMaxEnergy * dissipation;
            SmokeEmitter.minSize   = mMinEmissionSize * dissipation;

            mLastExposureUpdate = WorldClock.AdjustedRealTime;
        }