ECS Entitas源码分析(一)___概括

Entitas概况

Entitas是使用C#语言开发的一个快速的轻量级的ECS框架,作为Unity的一个插件使用.在这里我们只分析Entitas的结构以及代码,并不会讲解如何使用它。如果想了解如何使用可以看这里
Entitas大致可以分为以下6个模块:Context,Entity,Component,System,Matcher,Group和Collector等,后面我们就通过分析这6个模块的源代码来了解Entitas。
首先我们看下面的图了解以下Entitas的各个模块的基本功能
Entitas概况
Entitas优点:

  1. 天然的低耦合,system和system之间互不干扰
  2. 天然的逻辑与表现分离,Component只包含数据
  3. 战斗录像与回放,数据回滚与预测方便,因为逻辑表现分离所以只需要操作纯数据就好了。
  4. 访问速度快,框架基本无消耗。Entitias内部对Entity,Component以及Group做了大量的缓存。
  5. 由于Entitas数据的连续性,可以提高CPU的缓存命中
  6. 完善的代码生成工具,提高开发效率。可以给Conponent添加各种Attributes,从而生成各种特殊的组件,如单例[Unique],事件[Event],主键[EntityIndex]

缺点:

  1. Entitas是一个非常自闭的框架,所有的事情都只能在其内部完成。
  2. 并不是游戏中的所有功能模块都适合这个框架,如UI,行为树,动画等
  3. 因为是纯逻辑,不是oop,所以会增大项目新人的上手难度。
  4. 项目文件数量会超级的多。
  5. 需要生成代码,对热更新不太友好。

<下一篇>ECS Entitas源码分析(二)__Context

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值