using Models;
namespace Core;
///
/// 领域事件(用于系统解耦)
/// 设计说明:
/// 1) Task/Economy/Turn 等系统通过事件通信,避免直接依赖。
/// 2) 事件只携带最小必要信息,避免模型被过度暴露。
/// 注意事项:
/// - 事件是同步派发,请避免在处理器中做耗时操作。
/// 未来扩展:
/// - 可加入“事件上下文/来源系统”等字段,便于调试。
///
public readonly struct TaskCompletedEvent
{
///
/// 完成的任务
///
public TaskModel Task { get; }
///
/// 构造函数
///
/// 任务
public TaskCompletedEvent(TaskModel task)
{
Task = task;
}
}
///
/// 任务失败事件
///
public readonly struct TaskFailedEvent
{
///
/// 失败的任务
///
public TaskModel Task { get; }
///
/// 构造函数
///
/// 任务
public TaskFailedEvent(TaskModel task)
{
Task = task;
}
}
///
/// 回合结束事件
///
public readonly struct TurnEndedEvent
{
///
/// 结束的回合数
///
public int Turn { get; }
///
/// 构造函数
///
/// 回合数
public TurnEndedEvent(int turn)
{
Turn = turn;
}
}