跳转到内容

Pyrogenesis 引擎/角色

来自维基教科书,开放的书籍,为开放的世界
Clipboard

待办事项
使以下内容易于理解(添加介绍,澄清所有遗漏之处,以更简洁的方式重写,完成等)它还没有完成,但这是一个必要的起点。


"角色"是一个概念,用于处理实体的所有视觉方面,例如用于渲染它的模型和纹理等。(待办事项:提供更多示例)。

控制角色的逻辑主要位于 VisualActor 组件中(待办事项:将“组件”链接到维基百科)。

CCmpVisualActor.Init()

此函数以“paramNode”作为参数。我不确定那是什么,但它可能是一种 XML 派生的数据结构。

如果 paramNode 有一个“Foundation”或“FoundationActor”子节点,则将使用它作为“角色名称”。如果没有,它将使用 paramNode 的“Actor”子节点作为“角色名称”。

然后,该函数使用“角色名称”、GetActorSeed() 和空选择创建一个新的“单元”。(待办事项:解释)

CUnitManager.CreateUnit()

此函数尝试使用其参数中给定的角色名称、种子和选择以及一些私有对象管理器实例化一个新的 CUnit。(待办事项:解释)

如果成功完成此操作,则将新的单元添加到单元管理器并返回到调用点。

CUnit::Create()

这是一个工厂函数。

首先,它在对象管理器中找到具有给定角色名称的基对象。如果没有找到具有该名称的基对象,它将返回 null。

然后,它根据种子计算随机变化。

然后,它找到与之匹配的对象。如果未找到对象,则返回 null。

然后,它返回一个新的 CUnit,其中包含该对象、对象管理器和选择。

CUnit::CUnit()

这只是初始化一堆变量。

华夏公益教科书