【发布时间】:2018-09-14 11:32:47
【问题描述】:
我正在使用 Unity3D 构建游戏,但我有一个关于如何构建我的 Actor 架构的问题(我的 Actor 是指可以以某种方式与其他对象交互的对象)。
所以,我遵循了组件驱动的设计,每个组件负责处理对象的不同方面(例如动画组件、移动组件、攻击者组件等),但我在决定组件应如何通信时遇到了麻烦彼此。我的想法是:
每个对象都有一个组件管理器,它保存对附加在对象上的每个组件的引用。组件之间通过组件管理器的引用进行通信。
每个组件都负责保存自己的引用并在内部处理通信。我能想到的缺点是多个组件将持有相同的引用。
使用自动消息传递系统处理通信。(事件和侦听器)
我的问题是:有没有更好的方法来处理组件通信? 每种方式的优缺点是什么?
p.s 我不是在询问 Unity 或特定语言的答案,只是对正确方向的微小推动。提前致谢!
【问题讨论】:
标签: unity3d architecture components