using GFramework.Core.Abstractions.utility;
namespace GFramework.Game.Abstractions.setting;
///
/// 设置持久化接口
/// 定义了设置数据的异步加载、保存、检查存在性和删除操作
///
public interface ISettingsPersistence : IContextUtility
{
///
/// 异步加载指定类型的设置数据
///
Task LoadAsync() where T : class, ISettingsData, new();
///
/// 异步保存指定的设置数据
///
Task SaveAsync(T section) where T : class, ISettingsData;
///
/// 异步检查指定类型的设置数据是否存在
///
Task ExistsAsync() where T : class, ISettingsData;
///
/// 异步删除指定类型的设置数据
///
Task DeleteAsync() where T : class, ISettingsData;
///
/// 保存所有设置数据
///
Task SaveAllAsync(IEnumerable allData);
}