BSKGameReferenceManual使用手册
BSKGameReferenceManual使用手册
概述
此文档描述如何在BSKGame中的框架功能和接口
框架
逻辑类关系
sealed class Entity,任何以ShowEntity方式创建的Entity,都会挂有Entity组件,GameEntry.Entity.GetEntity形式的接口也是返回此Entity类,是框架和其他功能交互的桥梁
abstract clas EntityLogic,继承此类以编写实体/Entity相关的逻辑,实体数据暂时由EntityData类包装,之后如果数据复杂,考虑拆分成单独Component管理
abstract GameplayEntity,此类存在于gameplay程序集中,与EntityLogic是一对一的关系,通常与表现无关的代码写在继承类中,并且这一部分的代码可能与服务器共享,但小游戏可能不需要拆的这么细。添加了一些基本的Position Component,但目前还没完全取代EntityData的作用
EntityLogic绑定GameplayEntity,需要在EntityLogic中重载CreateGameplayEntity函数
- 生命周期,EntityLogic和GameplayEntity的生命周期函数基本相同,之后如果有网络同步,可以在这里进行拓展
- OnInit,初次创建时调用,回池后再取出不调用
- OnShow,每次ShowEntity调用
- OnHide,与OnShow对应,HideEntity时立刻调用
- OnRecycle,实体回收时调用,通常HideEntity之后下一帧进行回收,但也会根据实体策略进行回收
- OnUpdate
- ShowEntity,HideEntity,TypeId用于从Entity表格中找对应数据,ResourceId用于加载自定义数据,例如我使用了下面的Role表格,来获取ResourceId对应的模型,属性Id等
功能
- 属性,属性的初始化要在某个时刻进行调用,下面是一个示例,在entity初始化流程中读取Role表格获取propertyId。Property表格中可以配置属性最大值,将按照规则进行读入。属性可以进行绑定,做UI时很方便
本文由作者按照 CC BY 4.0 进行授权