using GFramework.Game.Abstractions.setting;
namespace GFramework.Game.setting.events;
///
/// 批量设置变更事件
/// 表示多个设置项同时发生变更的事件
///
/// 发生变更的设置数据集合
public class SettingsBatchChangedEvent(IEnumerable settings) : ISettingsChangedEvent
{
///
/// 获取发生变更的具体设置数据列表
///
public IEnumerable ChangedSettings { get; } = settings.ToList();
///
/// 获取设置类型,对于批量变更事件,固定返回ISettingsSection类型
///
public Type SettingsType => typeof(ISettingsSection);
///
/// 获取设置实例,批量变更事件中此属性返回null
///
public ISettingsSection Settings => null!;
///
/// 获取变更发生的时间戳(UTC时间)
///
public DateTime ChangedAt { get; } = DateTime.UtcNow;
}