< Summary

Class:DCL.SettingsCommon.SettingsControllers.SpecificControllers.QualityPresetControlController
Assembly:SettingsControllers
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Settings/SettingsControllers/SpecificControllers/QualityPresetControlController.cs
Covered lines:26
Uncovered lines:6
Coverable lines:32
Total lines:76
Line coverage:81.2% (26 of 32)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize()0%110100%
GetStoredValue()0%110100%
UpdateSetting(...)0%2.52050%
SetupQualityPresetLabels()0%220100%
SetupQualityPresetLabelsWithCustom()0%220100%
GetCurrentStoredValue()0%3.183072.73%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Settings/SettingsControllers/SpecificControllers/QualityPresetControlController.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using DCL.SettingsCommon.SettingsControllers.BaseControllers;
 3using UnityEngine;
 4
 5namespace DCL.SettingsCommon.SettingsControllers.SpecificControllers
 6{
 7    [CreateAssetMenu(menuName = "Settings/Controllers/Controls/Quality Preset", fileName = "QualityPresetControlControll
 8    public class QualityPresetControlController : SpinBoxSettingsControlController
 9    {
 10        public const string TEXT_QUALITY_CUSTOM = "Custom";
 11
 12        public override void Initialize()
 13        {
 114            base.Initialize();
 15
 116            SetupQualityPresetLabels();
 117        }
 18
 119        public override object GetStoredValue() { return GetCurrentStoredValue(); }
 20
 21        public override void UpdateSetting(object newValue)
 22        {
 123            int value = (int)newValue;
 124            if (value == Settings.i.qualitySettingsPresets.Length)
 125                return;
 26
 027            QualitySettings preset = Settings.i.qualitySettingsPresets[value];
 028            currentQualitySetting = preset;
 029        }
 30
 31        private void SetupQualityPresetLabels()
 32        {
 133            List<string> presetNames = new List<string>();
 34            QualitySettings preset;
 1035            for (int i = 0; i < Settings.i.qualitySettingsPresets.Length; i++)
 36            {
 437                preset = Settings.i.qualitySettingsPresets[i];
 438                presetNames.Add(preset.displayName);
 39            }
 40
 141            RaiseOnOverrideIndicatorLabel(presetNames.ToArray());
 142        }
 43
 44        private void SetupQualityPresetLabelsWithCustom()
 45        {
 146            List<string> presetNames = new List<string>();
 47            QualitySettings preset;
 1048            for (int i = 0; i < Settings.i.qualitySettingsPresets.Length; i++)
 49            {
 450                preset = Settings.i.qualitySettingsPresets[i];
 451                presetNames.Add(preset.displayName);
 52            }
 153            presetNames.Add(TEXT_QUALITY_CUSTOM);
 154            RaiseOnOverrideIndicatorLabel(presetNames.ToArray());
 155        }
 56
 57        private int GetCurrentStoredValue()
 58        {
 59            QualitySettings preset;
 1060            for (int i = 0; i < Settings.i.qualitySettingsPresets.Length; i++)
 61            {
 462                preset = Settings.i.qualitySettingsPresets[i];
 463                if (preset.Equals(currentQualitySetting))
 64                {
 065                    SetupQualityPresetLabels();
 066                    RaiseOnCurrentLabelChange(preset.displayName);
 067                    return i;
 68                }
 69            }
 70
 171            SetupQualityPresetLabelsWithCustom();
 172            RaiseOnCurrentLabelChange(TEXT_QUALITY_CUSTOM);
 173            return Settings.i.qualitySettingsPresets.Length;
 74        }
 75    }
 76}