internal void OnQualitySettingsChanged(QualitySettings settings) { if (fpsCapped == settings.fpsCap) { return; } fpsCapped = settings.fpsCap; if (settings.fpsCap) { controller = new AutoQualityCappedFPSController(TARGET_FPS, currentQualityIndex, qualitySettings); } else { controller = new AutoQualityUncappedFPSController(currentQualityIndex, qualitySettings); } }
void Start() { if (autoQualityEnabled == null || qualitySettings == null || qualitySettings.Length == 0) { return; } currentQualityIndex = PlayerPrefsUtils.GetInt(LAST_QUALITY_INDEX, (qualitySettings.Length - 1) / 2); controller = new AutoQualityUncappedFPSController(currentQualityIndex, qualitySettings); Settings.i.OnQualitySettingsChanged += OnQualitySettingsChanged; autoQualityEnabled.OnChange += SetAutoSettings; fpsCapped = !Settings.i.currentQualitySettings.fpsCap; OnQualitySettingsChanged(Settings.i.qualitySettings); SetAutoSettings(autoQualityEnabled.Get(), !autoQualityEnabled.Get()); }