经过一周的工作,v0.4 版本总算完成了。
就在刚刚笔者在 AssetStore 提交了 v0.4 版本。
v0.4 版本主要内容有两个
一键生成简单继承类图功能
底层兼容 QFramework v0.14.x
其中一键生成类图功能的工作量不是很多,写功能加上提交版本前的测试和优化总共加起来不到 4 天。
但是底层兼容 QFramework v0.14.x 就花了很多时间。
先看看功能吧,一键生成简单继承类图的功能和上一篇开发日志的差不多。
这次不同的是,支持了中英文切换。
其他的功能和上一篇的开发日志差不多,这里就不赘述了。
为什么 v0.4.0 版本新增内容不多却花了一周多的时间?
答案是都花在了 QFramework 开源版上边了。
最开始 v0.3.4 版本提交审核后,开始着手做一键分析代码的功能,差不多 2 ~ 3 天做完了。
做完了之后 AssetStore 审核还没结束,然后就打算自己找点事情做。
就开始搞 QFramework 的开源版了。
上一次大规模的重构 QFramework 是在两年前,重构完了之后写了一个 QFramework 使用指南 2020,虽说是 2020 ,但是其实是 2019 年下半年写的。而两年后的现在,QFramework 使用指南上的很多文档都有点过时了,于是就开始整理 QFramework 的文档。
在整理过程中有了一些思考。
自己一直都懒得更新文档,尤其是 QFramework 使用指南 2020,部署在自己主页上,每次修改都很麻烦。而且有得童鞋用的 QFramework 版本是比较老的版本,一些功能的使用可能长时间不更新 QF 会找不到文档。
所以在想要不要做一个 QFramework 的编辑器内置文档的功能。
然后就开始做这个功能了。
现在功能大致如下:
编辑器内的 Markdown 文档:
笔者将使用指南 2020 都装到 QFramework 编辑器里了。
API 文档:
其实大部分主要的时间都花在 API 文档上了,大致原理是通过反射分析代码的 Attribute。
群内的童鞋提议做一个 API 搜索功能,但是这个版本来不及了,于是就把一些自己常用的 API 整理完,等 Pro v0.3.4 版本审核通过之后就开始着手准备 Pro v0.4.0 版本的审核提交了。
除了整理 API,还有一项工作,就是支持了 QFramework 编辑器的中英文切换,如下:
中文:
英文
最后由于在 v0.5.0 版本,笔者打算做一个对话编辑器-DialogueKit,DialogueKit 的底层由 ActionKit 驱动,所以笔者根据需求重新设计了一下 ActionKit 的 API,当然旧版本的 API 也是兼容的。
简单展示一下:
旧版本的 API:
新版本的 API:
新旧版本的区别就是,旧版本如果想要实现一个自定义的 Action,则需要继承一个 Action 基类。
新版本则只继承一个 IAction 接口即可。
像对话编辑器的存储文件一般都是用 ScriptableObject,使用 ScriptableObject 就需要先继承 ScriptableObject,那么对话编辑器中的对话节点继承了 ScriptableObject 就没办法继承 Action 基类了。
但是如果是 IAction 接口的话,是可行的,于是笔者就着手重新设计了 ActionKit,使用了更少的代码,实现了相同的功能。
而且提供了除了实现接口、或者继承基类之外新的扩展方式,就是直接拿到 IAction 的生命周期回调,代码如下:
新版 ActionKit 用了更少的代码,更清爽的结构,提供了更多的功能,这个就是笔者现在和两年前的笔者代码实力水平的对比。
写完了新版 ActionKit 后,对应的 DialogueKit 的 API 设计就容易了许多,大致用法如下:
以上是一个基本的 API 雏形,设计好一个大致能跑的雏形之后,笔者就搞了下对话编辑器部分,这部分目前很简陋,如下图所示: