本角色產生器已經停止開發,因為原構想有很多不週全的地方。
依然想試的話,不需伺服器,解壓後可直接用火狐執行。
此導覽不能取代實際閱讀源碼。
doc 檔案夾下有物件架構圖,rule
和 runtime
部分已大致定案。
源碼在 res 資料夾。sparrow 為自家泛用程序庫,pinbun 為主程序,dd5 為系統模型。
角色由規則 Rule
組成。規則有兩種,首先是 dd5.res
自動收錄的資源 Resourse
,這些資源又包含其他資源和/或實際做事的子規則 Subrule
。
戴入時,dd5.loader
將規則字串拆成建構選項(也可以直接提供選項物件),並創建所指定的資源和子規則。
子規則的細節,例如調整值的項目和量,會於首次取用時被 property_compiler
組譯。
資源是靜態的,戴入後不應改變。動態物件(例如編輯中的角色)需要 1:1 繼承相應規則。
程序開始時會呼叫主程序 pinbun
,主程序戴入完數據後會創造被編輯的角色並初始化角色建構介面。
介面的生成要遍歷角色的規則。各模組會監聽角色的屬性和結構事件,藉以部分或完整刷新。為了效率,這些事件都先緩存後觸發。
pinbun.ui
負責高層次的介面邏輯,例如主題或本地化,而 dd5.ui
負責建構和管理實際的介面模組。
角色的狀態經由查詢實現。例如 pinbun.activeCharacter.queryChar('str_chk')
可獲得角色的力量檢定調整值,或者查詢 'prof$language'
可獲通曉的語言。
規則元素會用 query_hook
宣佈自己所響應的查詢,由角色物件記錄著。
查詢系統將會是本程序的核心,穩定後將需要詳細文檔,但目前尚未成熟。