设置相关功能脚本呢

This commit is contained in:
bob
2025-05-30 17:49:12 +08:00
parent e9ad74b3ea
commit dea58270fa
62 changed files with 1164 additions and 476 deletions

View File

@@ -0,0 +1,49 @@
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();
}
}