Files
Fishing2/Assets/Plugins/Ilumisoft/Graphics Control/Scripts/Settings/QualitySetting.cs
2025-05-29 18:03:24 +08:00

43 lines
1.2 KiB
C#

using UnityEngine;
namespace Ilumisoft.GraphicsControl
{
[DisallowMultipleComponent]
[AddComponentMenu("Graphics Control/Settings/Quality Setting")]
public class QualitySetting : MultiOptionGraphicSetting<int>
{
public override void Initialize()
{
var names = QualitySettings.names;
for (int i = 0; i < names.Length; i++)
{
AddOption(names[i], i);
}
SetIndex(QualitySettings.GetQualityLevel());
}
public override string GetSettingName() => "Quality";
public override void SaveSetting()
{
GraphicSettingsStorage.SetInt(key: GetSettingName(), value: GetIndex());
}
public override void LoadSetting()
{
// The key of the setting
string key = GetSettingName();
// Default value used as a fallback option
int defaultValue = QualitySettings.GetQualityLevel();
// Get the stored value
int storedValue = GraphicSettingsStorage.GetInt(key, defaultValue);
// Apply the stored value
SetIndex(storedValue);
}
}
}