using GFramework.Game.Abstractions.Setting; namespace GFramework.Game.Setting.Events; /// /// 表示设置应用完成事件 /// /// 设置节类型,必须实现ISettingsSection接口 public class SettingsAppliedEvent(T settings, bool success, Exception? error = null) : ISettingsChangedEvent where T : ISettingsSection { /// /// 获取类型化的设置节实例 /// public T TypedSettings => (T)Settings; /// /// 获取设置应用是否成功的状态 /// public bool Success { get; } = success; /// /// 获取设置应用过程中发生的错误异常(如果有的话) /// public Exception? Error { get; } = error; /// /// 获取设置类型的Type信息 /// public Type SettingsType => typeof(T); /// /// 获取应用的设置节实例 /// public ISettingsSection Settings { get; } = settings; /// /// 获取设置变更的时间戳(UTC时间) /// public DateTime ChangedAt { get; } = DateTime.UtcNow; }