Files
Fishing2/Assets/Scripts/Common/Services/Settings/Base/OptionBase.cs
2025-05-30 17:49:12 +08:00

49 lines
942 B
C#

namespace NBF.Setting
{
public interface IOptionBase
{
string Name { get; }
void Initialize();
void Apply();
}
public abstract class OptionBase : IOptionBase
{
protected string SaveKey => $"Setting_{Group}_{Name}";
public abstract string Name { get; }
/// <summary>
/// 所在组
/// </summary>
public abstract string Group { get; }
public void Initialize()
{
OnInitialize();
Load();
}
/// <summary>
/// 加载用户的设置
/// </summary>
public void Load()
{
OnLoad();
}
public void Apply()
{
OnApply();
}
protected abstract void OnInitialize();
protected abstract void OnApply();
protected abstract void OnReset();
protected abstract void OnLoad();
}
}