1. 程式人生 > 其它 >QFramework Pro 開發日誌(七)v0.4 版本稽核通過 與 對話編輯器功能預告

QFramework Pro 開發日誌(七)v0.4 版本稽核通過 與 對話編輯器功能預告

經過一週的工作,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 雛形,設計好一個大致能跑的雛形之後,筆者就搞了下對話編輯器部分,這部分目前很簡陋,如下圖所示:

這個功能也是在等待 AssetStore 稽核的時候抽空寫的,基本能跑,但是對話編輯器的基本的需求還沒不能滿足,需要再花點時間,而這個對話編輯器,也就是 DialogueKit 就是筆者在這個版本提交之後,v0.5.0 版本的主要開發內容。

而 QF Pro 的 DocKit 的功能,筆者已經在兩個專案裡用起來了,一個是筆者自己的鬼山之下,另一個準備的一個獨立遊戲課程案例,這個課程案例也會上架到 Steam。所以 DialogueKit,也會直接用在自己的這兩個專案上。

畢竟只有真在專案驗證過,工具才會慢慢成熟,對應的課程也是一樣的,如果不真刀真槍地在戰場上廝殺過,在課裡講出來的東西自己都沒有底氣。

好了廢話不多說啦,以上就是這段時間自己做的事情。其中 v0.4.0 已經提交稽核,並在自己的平臺上已經發布。

另外,由於 QF Pro 新增了功能,所以在 v0.4.0 版在稽核通過之後,QF Pro 從原來的 5 刀,漲價到 6 刀。

奇怪的是,v0.4.0 版本在下午 5 點提交的稽核,而在剛剛寫完此文時,也就是 8 點,就收到稽核通過的郵件。

em..... 本來想給大家留一段時間 5 刀的價格的,但是沒辦法了,哈哈。

這篇的內容就這些。