mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 11:14:30 +08:00
- 新增 DataRepository 类实现数据存储和读取功能 - 添加数据仓库配置选项类 DataRepositoryOptions - 定义 IData 接口作为通用数据标记接口 - 实现数据加载、保存、删除等异步操作方法 - 添加数据事件系统包括加载、保存、删除等事件类型 - 将 ISettingsData 接口重命名为 IResettable 并更新相关实现 - 更新 SettingsModel 和 SettingsPersistence 使用新的接口 - 修改 SettingsBatchChangedEvent 和 SettingsBatchSavedEvent 使用 IResettable 类型 - 重构 AudioSettings、GraphicsSettings、LocalizationSettings 继承新接口 - 更新 IPersistentApplyAbleSettings 接口依赖为 IResettable
35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using GFramework.Core.Abstractions.utility;
|
|
|
|
namespace GFramework.Game.Abstractions.setting;
|
|
|
|
/// <summary>
|
|
/// 设置持久化接口
|
|
/// 定义了设置数据的异步加载、保存、检查存在性和删除操作
|
|
/// </summary>
|
|
public interface ISettingsPersistence : IContextUtility
|
|
{
|
|
/// <summary>
|
|
/// 异步加载指定类型的设置数据
|
|
/// </summary>
|
|
Task<T> LoadAsync<T>() where T : class, IResettable, new();
|
|
|
|
/// <summary>
|
|
/// 异步保存指定的设置数据
|
|
/// </summary>
|
|
Task SaveAsync<T>(T section) where T : class, IResettable;
|
|
|
|
/// <summary>
|
|
/// 异步检查指定类型的设置数据是否存在
|
|
/// </summary>
|
|
Task<bool> ExistsAsync<T>() where T : class, IResettable;
|
|
|
|
/// <summary>
|
|
/// 异步删除指定类型的设置数据
|
|
/// </summary>
|
|
Task DeleteAsync<T>() where T : class, IResettable;
|
|
|
|
/// <summary>
|
|
/// 保存所有设置数据
|
|
/// </summary>
|
|
Task SaveAllAsync(IEnumerable<IResettable> allData);
|
|
} |