public virtual void Initialize()
        {
            currentGeneralSettings = Settings.i.generalSettings;
            currentQualitySetting  = Settings.i.qualitySettings;

            Settings.i.OnGeneralSettingsChanged += OnGeneralSettingsChanged;
            Settings.i.OnQualitySettingsChanged += OnQualitySettingsChanged;
            Settings.i.OnResetAllSettings       += OnResetSettingsControl;
        }
Example #2
0
        void ApplyQualitySettings(SettingsData.QualitySettings qualitySettings)
        {
            UnitySettings.masterTextureLimit = (int)qualitySettings.textureQuality;

            if (lightweightRenderPipelineAsset)
            {
                lightweightRenderPipelineAsset.msaaSampleCount = (int)qualitySettings.antiAliasing;
                lightweightRenderPipelineAsset.renderScale     = qualitySettings.renderScale;

                lwrpaShadowField?.SetValue(lightweightRenderPipelineAsset, qualitySettings.shadows);
                lwrpaSoftShadowField?.SetValue(lightweightRenderPipelineAsset, qualitySettings.softShadows);
                lwrpaShadowResolutionField?.SetValue(lightweightRenderPipelineAsset, qualitySettings.shadowResolution);
            }

            if (environmentLight)
            {
                LightShadows shadowType = LightShadows.None;
                if (qualitySettings.shadows)
                {
                    shadowType = qualitySettings.softShadows ? LightShadows.Soft : LightShadows.Hard;
                }
                environmentLight.shadows = shadowType;
            }

            if (postProcessVolume)
            {
                Bloom bloom;
                if (postProcessVolume.profile.TryGetSettings(out bloom))
                {
                    bloom.enabled.value = qualitySettings.bloom;
                }
                ColorGrading colorGrading;
                if (postProcessVolume.profile.TryGetSettings(out colorGrading))
                {
                    colorGrading.enabled.value = qualitySettings.colorGrading;
                }
            }

            if (thirdPersonCamera)
            {
                thirdPersonCamera.m_Lens.FarClipPlane = qualitySettings.cameraDrawDistance;
            }

            if (firstPersonCamera)
            {
                firstPersonCamera.m_Lens.FarClipPlane = qualitySettings.cameraDrawDistance;
            }
        }
 public override void UpdateSetting(object newValue)
 {
     SettingsData.QualitySettings preset = Settings.i.qualitySettingsPresets[(int)newValue];
     currentQualitySetting = preset;
 }
Example #4
0
 private void OnQualitySettingsChanged(SettingsData.QualitySettings obj)
 {
     RefreshControl();
 }
 private void OnResetSettingsControl()
 {
     currentGeneralSettings = Settings.i.generalSettings;
     currentQualitySetting  = Settings.i.qualitySettings;
 }
 private void OnQualitySettingsChanged(SettingsData.QualitySettings newQualitySettings)
 {
     currentQualitySetting = newQualitySettings;
 }