mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 03:04:29 +08:00
- 移除 SettingsResetEvent 中的旧设置属性,改为仅保存新设置 - 删除 SettingsPersistence 中的重置方法,统一通过命令模式处理 - 在 SettingsSystem 中添加 ResetAsync 方法并集成命令模式 - 为 AudioSettings 和 GraphicsSettings 添加 Reset 方法实现 - 扩展 ISettingsData 接口添加 Reset 方法定义 - 从接口中移除重置相关方法定义 - 在 ISettingsSystem 中添加重置相关的异步方法声明 - 为 AudioBusMapSettings 添加 Reset 方法实现 - 新增 ResetSettingsCommand 和 ResetSettingsInput 实现命令模式 - 添加 SettingsData 抽象基类提供默认的 Reset 实现 - [skip ci]
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
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, ISettingsData, new();
|
|
|
|
/// <summary>
|
|
/// 异步保存指定的设置数据
|
|
/// </summary>
|
|
Task SaveAsync<T>(T section) where T : class, ISettingsData;
|
|
|
|
/// <summary>
|
|
/// 异步检查指定类型的设置数据是否存在
|
|
/// </summary>
|
|
Task<bool> ExistsAsync<T>() where T : class, ISettingsData;
|
|
|
|
/// <summary>
|
|
/// 异步删除指定类型的设置数据
|
|
/// </summary>
|
|
Task DeleteAsync<T>() where T : class, ISettingsData;
|
|
|
|
/// <summary>
|
|
/// 保存所有设置数据
|
|
/// </summary>
|
|
Task SaveAllAsync(IEnumerable<ISettingsData> allData);
|
|
|
|
/// <summary>
|
|
/// 加载所有已知类型的设置数据
|
|
/// </summary>
|
|
Task<IDictionary<Type, ISettingsData>> LoadAllAsync(IEnumerable<Type> knownTypes);
|
|
} |