public IEnumerator ApplyCorrectly()
        {
            // NOTE: settings here were set before scene loading
            SetupReferences();

            CheckIfTestQualitySettingsAreSet();
            CheckIfTestGeneralSettingsAreSet();

            // NOTE: wait for next frame
            yield return(null);

            CheckIfQualitySettingsAreApplied();
            CheckIfGeneralSettingsAreApplied();

            // NOTE: change settings in runtime
            testQualitySettings = DCL.Settings.i.qualitySettingsPresets[0];
            testGeneralSettings = new GeneralSettings()
            {
                sfxVolume        = 1,
                mouseSensitivity = 0
            };
            DCL.Settings.i.ApplyQualitySettings(testQualitySettings);
            DCL.Settings.i.ApplyGeneralSettings(testGeneralSettings);

            CheckIfTestQualitySettingsAreSet();
            CheckIfTestGeneralSettingsAreSet();

            // NOTE: wait for next frame
            yield return(null);

            CheckIfQualitySettingsAreApplied();
            CheckIfGeneralSettingsAreApplied();
        }
Beispiel #2
0
        void SetupQualityPreset(DCL.SettingsData.QualitySettings savedSetting)
        {
            List <string> presetNames      = new List <string>();
            int           presetIndex      = 0;
            bool          presetIndexFound = false;

            DCL.SettingsData.QualitySettings preset;
            for (int i = 0; i < Settings.i.qualitySettingsPresets.Length; i++)
            {
                preset = Settings.i.qualitySettingsPresets[i];
                presetNames.Add(preset.displayName);
                if (!presetIndexFound && preset.Equals(savedSetting))
                {
                    presetIndexFound = true;
                    presetIndex      = i;
                }
            }

            qualityPresetSpinBox.SetLabels(presetNames.ToArray());

            if (!presetIndexFound)
            {
                tempQualitySetting = savedSetting;
                UpdateQualitySettings();
            }
            else
            {
                qualityPresetSpinBox.value = presetIndex;
            }
        }
        protected override IEnumerator SetUp()
        {
            yield return(base.SetUp());

            testQualitySettings = new QualitySettings()
            {
                baseResolution     = QualitySettings.BaseResolution.BaseRes_720,
                antiAliasing       = MsaaQuality._4x,
                renderScale        = 0.1f,
                shadows            = false,
                softShadows        = true,
                shadowResolution   = UnityEngine.Rendering.Universal.ShadowResolution._512,
                cameraDrawDistance = 50.1f,
                bloom        = false,
                colorGrading = true
            };

            testGeneralSettings = new GeneralSettings()
            {
                mouseSensitivity = 1,
                sfxVolume        = 0
            };

            initQualitySettings = DCL.Settings.i.qualitySettings;
            DCL.Settings.i.ApplyQualitySettings(testQualitySettings);
            DCL.Settings.i.ApplyGeneralSettings(testGeneralSettings);
        }
Beispiel #4
0
        protected override IEnumerator SetUp()
        {
            yield return(base.SetUp());

            testQualitySettings = new QualitySettings()
            {
                textureQuality     = QualitySettings.TextureQuality.HalfRes,
                antiAliasing       = MsaaQuality._4x,
                renderScale        = 0.1f,
                shadows            = false,
                softShadows        = false,
                shadowResolution   = UnityEngine.Rendering.LWRP.ShadowResolution._512,
                cameraDrawDistance = 51f,
                bloom        = true,
                colorGrading = true
            };

            testGeneralSettings = new GeneralSettings()
            {
                mouseSensitivity = 1,
                sfxVolume        = 0
            };

            DCL.Settings.i.ApplyQualitySettings(testQualitySettings);
            DCL.Settings.i.ApplyGeneralSettings(testGeneralSettings);
            controller = new SettingsHUDController();
        }
Beispiel #5
0
        void OnEnable()
        {
            currentQualitySetting = Settings.i.qualitySettings;
            currentGeneralSetting = Settings.i.generalSettings;

            tempQualitySetting = currentQualitySetting;
            tempGeneralSetting = currentGeneralSetting;

            SetupQualityPreset(currentQualitySetting);
        }
Beispiel #6
0
 private void SetupQualitySettings()
 {
     DCL.SettingsData.QualitySettings settings = new DCL.SettingsData.QualitySettings()
     {
         baseResolution     = DCL.SettingsData.QualitySettings.BaseResolution.BaseRes_1080,
         antiAliasing       = UnityEngine.Rendering.Universal.MsaaQuality._2x,
         renderScale        = 1,
         shadows            = true,
         softShadows        = true,
         shadowResolution   = UnityEngine.Rendering.Universal.ShadowResolution._256,
         cameraDrawDistance = 100,
         bloom        = true,
         colorGrading = true
     };
     Settings.i.ApplyQualitySettings(settings);
 }
Beispiel #7
0
 private void SetupQualitySettings()
 {
     DCL.SettingsData.QualitySettings settings = new DCL.SettingsData.QualitySettings()
     {
         textureQuality     = DCL.SettingsData.QualitySettings.TextureQuality.FullRes,
         antiAliasing       = UnityEngine.Rendering.LWRP.MsaaQuality._2x,
         renderScale        = 1,
         shadows            = true,
         softShadows        = true,
         shadowResolution   = UnityEngine.Rendering.LWRP.ShadowResolution._256,
         cameraDrawDistance = 100,
         bloom        = true,
         colorGrading = true
     };
     Settings.i.ApplyQualitySettings(settings);
 }
Beispiel #8
0
        void Awake()
        {
            qualityPresetSpinBox.onValueChanged.AddListener(value =>
            {
                DCL.SettingsData.QualitySettings preset = Settings.i.qualitySettingsPresets[value];
                tempQualitySetting = preset;
                UpdateQualitySettings();
                shouldSetAsCustom = false;
            });

            textureResSpinBox.onValueChanged.AddListener(value =>
            {
                tempQualitySetting.textureQuality = (DCL.SettingsData.QualitySettings.TextureQuality)value;
                shouldSetAsCustom = true;
                isDirty           = true;
            });

            shadowResSpinBox.onValueChanged.AddListener(value =>
            {
                tempQualitySetting.shadowResolution = (UnityEngine.Rendering.LWRP.ShadowResolution)(256 << value);
                shouldSetAsCustom = true;
                isDirty           = true;
            });

            colorGradingToggle.onValueChanged.AddListener(isOn =>
            {
                tempQualitySetting.colorGrading = isOn;
                shouldSetAsCustom = true;
                isDirty           = true;
            });

            soundToggle.onValueChanged.AddListener(isOn =>
            {
                tempGeneralSetting.sfxVolume = isOn ? 1 : 0;
                isDirty = true;
            });

            shadowToggle.onValueChanged.AddListener(isOn =>
            {
                tempQualitySetting.shadows = isOn;
                if (!isOn)
                {
                    softShadowToggle.isOn = false;
                }
                shouldSetAsCustom = true;
                isDirty           = true;
            });

            softShadowToggle.onValueChanged.AddListener(isOn =>
            {
                tempQualitySetting.softShadows = isOn;
                shouldSetAsCustom = true;
                isDirty           = true;
            });

            bloomToggle.onValueChanged.AddListener(isOn =>
            {
                tempQualitySetting.bloom = isOn;
                shouldSetAsCustom        = true;
                isDirty = true;
            });

            mouseSensitivitySlider.onValueChanged.AddListener(value =>
            {
                tempGeneralSetting.mouseSensitivity = value;
                mouseSensitivityValueLabel.text     = value.ToString("0.0");
                isDirty = true;
            });

            antiAliasingSlider.onValueChanged.AddListener(value =>
            {
                int antiAliasingValue           = 1 << (int)value;
                tempQualitySetting.antiAliasing = (UnityEngine.Rendering.LWRP.MsaaQuality)antiAliasingValue;
                if (value == 0)
                {
                    antiAliasingValueLabel.text = TEXT_OFF;
                }
                else
                {
                    antiAliasingValueLabel.text = antiAliasingValue.ToString("0x");
                }
                shouldSetAsCustom = true;
                isDirty           = true;
            });

            renderingScaleSlider.onValueChanged.AddListener(value =>
            {
                tempQualitySetting.renderScale = value;
                renderingScaleValueLabel.text  = value.ToString("0.0");
                shouldSetAsCustom = true;
                isDirty           = true;
            });

            drawDistanceSlider.onValueChanged.AddListener(value =>
            {
                tempQualitySetting.cameraDrawDistance = value;
                drawDistanceValueLabel.text           = value.ToString();
                shouldSetAsCustom = true;
                isDirty           = true;
            });
        }
        void ApplyQualitySettings(QualitySettings qualitySettings)
        {
            switch (qualitySettings.baseResolution)
            {
            case QualitySettings.BaseResolution.BaseRes_720:
                WebInterface.SetBaseResolution(720);
                break;

            case QualitySettings.BaseResolution.BaseRes_1080:
                WebInterface.SetBaseResolution(1080);
                break;

            case QualitySettings.BaseResolution.BaseRes_Unlimited:
                WebInterface.SetBaseResolution(9999);
                break;
            }

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

                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.TryGet <Bloom>(out bloom))
                {
                    bloom.active = qualitySettings.bloom;
                }

                Tonemapping toneMapping;
                if (postProcessVolume.profile.TryGet <Tonemapping>(out toneMapping))
                {
                    toneMapping.active = qualitySettings.colorGrading;
                }
            }

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

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