ZECS Unity脚本框架简介(3)——API说明与使用

先上类图主要接口类说明:ZEntity:实体类,它不支持继承,类似于Unity的GameObject,它需要通过EntityPool进行创建以及实例化。ZComponent:组件类,用于封装实体的行为以及对外提供的功能等,它实现了IZComponent接口,用户定义新的组件只需要从其进行继承就可以。ZSystem:系统类,用于封装业务或者游戏的控制逻辑,它实现了IZSystem,可以理解为功能抽象...
摘要由CSDN通过智能技术生成

先上类图



主要接口类说明:

ZEntity:实体类,它不支持继承,类似于Unity的GameObject,它需要通过EntityPool进行创建以及实例化。

ZComponent:组件类,用于封装实体的行为以及对外提供的功能等,它实现了IZComponent接口,用户定义新的组件只需要从其进行继承就可以。

ZSystem:系统类,用于封装业务或者游戏的控制逻辑,它实现了IZSystem,可以理解为功能抽象类,它负责对系统的各个实体进行调度来完成一项系统功能,同时它也负责处理用户交互信息,比如建立Unity中的UGUI系统与底层实体类的通信桥梁。这里一般使用事件触发机制/反射处理等机制。

EntityPool:对象池类,它用于创建实体,在Editor中可以定义好实体的模板(这里模板的定义类型Unity的Prefab),以ID为做为实体的唯一标识,在Runtime阶段,开发通过EntityPool的CreateEntity方法根据ID找到相应的实体模板,以其为参考进行实体对象的实例化操作。同时System在框架内部就是一个实体,只不过它是一单体,并在系统初始化阶段就自动创建出来。

每个类的详细接口、属性说明还是参考Github上的代码说明

https://github.com/bennychao/ZECS

例子说明

一个例子帮助大家理解类之间如何进行运用,比如一个FPS游戏中一个敌人Tank被攻击的场景,会有Unity的场景中定义一个Tank的GameObject或者Prefab做为展示,会绑定上Unity提供的一些内置组件(这里不是指ZECS的组件),比如BoxCollider负责检测子弹被击中,这些定义好的也就是我们前两节所说的View层。然后再定义一个名为ZTank实体,并定义一个Blood的组件,绑定到ZTank上,它负责血量的计算。最后定义一个控制类TankController,它从Zsystem继承。

当Tank被攻击时,其BoxColl

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值