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

本文介绍了ZECS Unity脚本框架的主要接口,包括ZEntity、ZComponent、ZSystem和EntityPool的职责。讲解了如何在游戏场景中应用,如在FPS游戏中处理敌人被攻击的逻辑。ZECS还提供了AutoCreateSupport、ReusableSupport等组件以及StartEventSystem等系统。文章还提到了扩展编辑器支持,允许在编辑器中配置实体池。附带的Demo代码展示了如何创建和使用实体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上类图



主要接口类说明:

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上,它负责血量的计算。最后定义一个控制类TankCo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值