您好,

我正在开发一款战术角色扮演游戏,使用 Unity 运行。架构如下:

  1. 核心抽象层(纯 C#)
  2. RPG 框架(纯 C#)
  3. RPG 业务层(纯 C#)
  4. Unity 视图

视图主要接收事件并将命令入队。所有视图元素共享一个视图模型,内部有一个消息系统。

我目前正在工作于摄像头。它应该将焦点放在选中的单位上,并在攻击正在进行时包括目标。

我的方法是,当单位被选中时发射一个事件,当单位被目标时发射一个事件等。

但我担心,这会导致大量小型事件类的爆炸,如 UnitSelectedEventData、UnitTargetedEventData、UnitDeselectedEventData、UnitUntargetedEventData 等。

这确实发生在最抽象的层次上,所以我想这也不是太坏的,但我在想,是否有更常见的方法来解决这个问题。

是否有很多小型事件类,且有时几乎相同,是一个问题呢?

感谢您的回复!