namespace UnityEngine.AdaptivePerformance { /// /// A scaler used by to adjust the resolution of shadow maps. /// public class AdaptiveShadowmapResolution : AdaptivePerformanceScaler { float m_DefaultShadowmapResolution; /// /// Ensures settings are applied during startup. /// protected override void Awake() { base.Awake(); if (m_Settings == null) return; ApplyDefaultSetting(m_Settings.scalerSettings.AdaptiveShadowmapResolution); } /// /// Callback when scaler gets disabled and removed from indexer /// protected override void OnDisabled() { AdaptivePerformanceRenderSettings.MainLightShadowmapResolutionMultiplier = m_DefaultShadowmapResolution; } /// /// Callback when scaler gets enabled and added to the indexer /// protected override void OnEnabled() { m_DefaultShadowmapResolution = AdaptivePerformanceRenderSettings.MainLightShadowmapResolutionMultiplier; } /// /// Callback for any level change. /// protected override void OnLevel() { if (ScaleChanged()) AdaptivePerformanceRenderSettings.MainLightShadowmapResolutionMultiplier = 1 * Scale; } } }