public virtual void Initialize() { currentGeneralSettings = Settings.i.generalSettings; currentQualitySetting = Settings.i.qualitySettings; Settings.i.OnGeneralSettingsChanged += OnGeneralSettingsChanged; Settings.i.OnQualitySettingsChanged += OnQualitySettingsChanged; Settings.i.OnResetAllSettings += OnResetSettingsControl; }
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; }
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; }