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(); }
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); }
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(); }
void OnEnable() { currentQualitySetting = Settings.i.qualitySettings; currentGeneralSetting = Settings.i.generalSettings; tempQualitySetting = currentQualitySetting; tempGeneralSetting = currentGeneralSetting; SetupQualityPreset(currentQualitySetting); }
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); }
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); }
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; } }