mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 03:04:29 +08:00
- 新增 SettingsAllLoadedEvent 事件类,用于表示所有设置加载完成 - 新增 SettingsAppliedEvent 事件类,用于表示设置应用完成状态 - 新增 SettingsApplyingEvent 事件类,用于表示设置正在应用过程 - 新增 SettingsBatchChangedEvent 事件类,用于表示批量设置变更 - 新增 SettingsBatchSavedEvent 事件类,用于表示批量设置保存 - 新增 SettingsChangedEvent 通用设置变更事件类 - 新增 SettingsLoadedEvent 和 SettingsSavedEvent 事件类 - 在 SettingsModel 中添加对 GFramework.Core.extensions 的引用 - 更新 RegisterApplicator 方法支持链式调用并改进注释说明 - 新增 ISettingsChangedEvent 接口定义设置变更事件基础结构 - 修改 ISettingsModel 接口使 RegisterApplicator 方法支持链式调用 - 修改 ISettingsPersistence 接口继承 IContextUtility 接口
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using GFramework.Game.Abstractions.setting;
|
||
|
||
namespace GFramework.Game.setting.events;
|
||
|
||
/// <summary>
|
||
/// 表示设置应用完成事件
|
||
/// </summary>
|
||
/// <typeparam name="T">设置节类型,必须实现ISettingsSection接口</typeparam>
|
||
public class SettingsAppliedEvent<T>(T settings, bool success, Exception? error = null) : ISettingsChangedEvent
|
||
where T : ISettingsSection
|
||
{
|
||
/// <summary>
|
||
/// 获取类型化的设置节实例
|
||
/// </summary>
|
||
public T TypedSettings => (T)Settings;
|
||
|
||
/// <summary>
|
||
/// 获取设置应用是否成功的状态
|
||
/// </summary>
|
||
public bool Success { get; } = success;
|
||
|
||
/// <summary>
|
||
/// 获取设置应用过程中发生的错误异常(如果有的话)
|
||
/// </summary>
|
||
public Exception? Error { get; } = error;
|
||
|
||
/// <summary>
|
||
/// 获取设置类型的Type信息
|
||
/// </summary>
|
||
public Type SettingsType => typeof(T);
|
||
|
||
/// <summary>
|
||
/// 获取应用的设置节实例
|
||
/// </summary>
|
||
public ISettingsSection Settings { get; } = settings;
|
||
|
||
/// <summary>
|
||
/// 获取设置变更的时间戳(UTC时间)
|
||
/// </summary>
|
||
public DateTime ChangedAt { get; } = DateTime.UtcNow;
|
||
} |