MOBA游戏服务器ECS框架设计1.0 (2)

  因为我们的 Components 只是数据层。可能很多数据比如我们压缩的数据,或者需要换算一次才能使用的数据。对于这种操作 我们将会对 Entity 引入 Actor的方式来处理。

  这样我们的Actor就会存在很多的原子函数。可以提供给 System 操作, 同时还能保证底层的安全性。

   

 

  逻辑帧消息

  逻辑帧上我们将消息分为单帧下发,也就是一帧只有一个消息下发的方式,而其中组件消息的部分:

  

MOBA游戏服务器ECS框架设计1.0

  因为我们的 Proto 还是老版本 还不支持 Map 或 any 的操作 所以这里略显蛋疼。

  不过办法总是有的 我们的消息同步这块也通过生成器来生成代码。就省去了每次都需要去添加人工写一次了。

  如图:

  

MOBA游戏服务器ECS框架设计1.0

 

   

  总结

  总结下ECS就是 ECS其实本身并不复杂,但是在使用它解决业务场景的时候 需要严谨的定义业务中的规则,剥离组件的方式。

  如何去定义ECS在面向业务的时候的场景很重要。如果用好了,那就是利器。否则很可能导致数据层泪崩。

  另外 ECS 这种架构 在 配合上 代码的自动化生成 真的能达到事倍功半的效果。所以在以后要多考虑让机器帮我们制造。而不是靠手撸~

  以上大致为本次我们用ECS方式重构的一些核心要素了 草草结尾~ ^_。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzszp.html