due
due copied to clipboard
Actor之间的通信开发流程过于复杂
现在如果是多个Actor之间的消息通信,都需要定义路由号以及消息结构体,如proto之类的。如果一旦调用链长了,定义的路由号以及消息体都会很多。期望actor直接的消息通信能有优化:
- actor之间可支持一种完全不对调度器暴露的路由号定义,仅actor内部使用;或者直接使用字符串来标识也可以
- 消息结构体无需重新定义,用简单的map也可以,类型检查可以开发来做,
- actor之间的消息不需要压包解包,现在数据派发默认都会PackBuffer;或者支持某类消息不走
看起来现在 Actor 注册是冗余的,在 Node 层需要再面向 Actor 注册一遍路由。
我的想法是在玩家进入游戏后,进行 BindActor,之后 Node 的 Proxy 分发路由时,如果绑定了 Actor,则直接调用 Actor.Next 进行分发消息。
但引入了新的问题,少量不需要 Actor 的逻辑需要 Node 处理,应该如何区分?