void ChangeQuality(int modifier)
        {
            var newQuality = Mathf.Clamp(m_QualitySettingsDataProvider.qualityLevel + modifier, 0, m_MaxQualityLevel);

            if (newQuality == m_QualitySettingsDataProvider.qualityLevel)
            {
                return;
            }

            SetQualitySettingsAction.SetQualitySettingsData settingsData = new SetQualitySettingsAction.SetQualitySettingsData();
            settingsData.isAutomatic = m_QualitySettingsDataProvider.isAutomatic;
            settingsData.fpsThresholdQualityDecrease = m_QualitySettingsDataProvider.fpsThresholdQualityDecrease;
            settingsData.fpsThresholdQualityIncrease = m_QualitySettingsDataProvider.fpsThresholdQualityIncrease;
            settingsData.lastQualityChangeTimestamp  = Time.unscaledTime;
            settingsData.qualityLevel = newQuality;

            Dispatcher.Dispatch(SetQualitySettingsAction.From(settingsData));
        }
Пример #2
0
        void OnQualityDropdownChanged(int value)
        {
            var qualityStateData = m_QualitySettingsSelector.GetValue();

            SetQualitySettingsAction.SetQualitySettingsData settingsData = new SetQualitySettingsAction.SetQualitySettingsData();
            settingsData.fpsThresholdQualityDecrease = qualityStateData.fpsThresholdQualityDecrease;
            settingsData.fpsThresholdQualityIncrease = qualityStateData.fpsThresholdQualityIncrease;
            settingsData.lastQualityChangeTimestamp  = qualityStateData.lastQualityChangeTimestamp;

            if (value == 0)
            {
                // keep the current quality setting when swapping to automatic
                settingsData.isAutomatic  = true;
                settingsData.qualityLevel = qualityStateData.qualityLevel;
            }
            else
            {
                settingsData.isAutomatic = false;
                // decrement value because Automatic option is at index 0
                settingsData.qualityLevel = value - 1;
            }

            Dispatcher.Dispatch(SetQualitySettingsAction.From(settingsData));
        }