Pyrogenesis 引擎/角色
外觀
"角色"是一個概念,用於處理實體的所有視覺方面,例如用於渲染它的模型和紋理等。(待辦事項:提供更多示例)。
控制角色的邏輯主要位於 VisualActor 元件中(待辦事項:將“元件”連結到維基百科)。
CCmpVisualActor.Init()
此函式以“paramNode”作為引數。我不確定那是什麼,但它可能是一種 XML 派生的資料結構。
如果 paramNode 有一個“Foundation”或“FoundationActor”子節點,則將使用它作為“角色名稱”。如果沒有,它將使用 paramNode 的“Actor”子節點作為“角色名稱”。
然後,該函式使用“角色名稱”、GetActorSeed() 和空選擇建立一個新的“單元”。(待辦事項:解釋)
CUnitManager.CreateUnit()
此函式嘗試使用其引數中給定的角色名稱、種子和選擇以及一些私有物件管理器例項化一個新的 CUnit。(待辦事項:解釋)
如果成功完成此操作,則將新的單元新增到單元管理器並返回到呼叫點。
CUnit::Create()
這是一個工廠函式。
首先,它在物件管理器中找到具有給定角色名稱的基物件。如果沒有找到具有該名稱的基物件,它將返回 null。
然後,它根據種子計算隨機變化。
然後,它找到與之匹配的物件。如果未找到物件,則返回 null。
然後,它返回一個新的 CUnit,其中包含該物件、物件管理器和選擇。
CUnit::CUnit()
這只是初始化一堆變數。
