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