跳轉到內容

Pyrogenesis 引擎/角色

來自華夏公益教科書,開放的書籍,為開放的世界
Clipboard

待辦事項
使以下內容易於理解(新增介紹,澄清所有遺漏之處,以更簡潔的方式重寫,完成等)它還沒有完成,但這是一個必要的起點。


"角色"是一個概念,用於處理實體的所有視覺方面,例如用於渲染它的模型和紋理等。(待辦事項:提供更多示例)。

控制角色的邏輯主要位於 VisualActor 元件中(待辦事項:將“元件”連結到維基百科)。

CCmpVisualActor.Init()

此函式以“paramNode”作為引數。我不確定那是什麼,但它可能是一種 XML 派生的資料結構。

如果 paramNode 有一個“Foundation”或“FoundationActor”子節點,則將使用它作為“角色名稱”。如果沒有,它將使用 paramNode 的“Actor”子節點作為“角色名稱”。

然後,該函式使用“角色名稱”、GetActorSeed() 和空選擇建立一個新的“單元”。(待辦事項:解釋)

CUnitManager.CreateUnit()

此函式嘗試使用其引數中給定的角色名稱、種子和選擇以及一些私有物件管理器例項化一個新的 CUnit。(待辦事項:解釋)

如果成功完成此操作,則將新的單元新增到單元管理器並返回到呼叫點。

CUnit::Create()

這是一個工廠函式。

首先,它在物件管理器中找到具有給定角色名稱的基物件。如果沒有找到具有該名稱的基物件,它將返回 null。

然後,它根據種子計算隨機變化。

然後,它找到與之匹配的物件。如果未找到物件,則返回 null。

然後,它返回一個新的 CUnit,其中包含該物件、物件管理器和選擇。

CUnit::CUnit()

這只是初始化一堆變數。

華夏公益教科書