AR_Engine_SDK
Functions | Variables
XEActorContainer.lua File Reference
类 XEActorContainer 继承关系图:
Inheritance graph

Functions

function XEActorContainer new () end
 
function XEActorContainer PresentPhysicsForActors (fDelSecond) end
 
function XEActorContainer ReleaseAllActors () end
 
function XEActorContainer ReleaseActor (pActor) end
 
function XEActorContainer FindActor (strActorName, bFindInPrefab) end
 
function XEActorContainer FindActorByIdString (strActorIdString, bFindInPrefab) end
 
function XEActorContainer FindActorByOriginalIdString (strActorIdString, bFindInPrefab) end
 
function XEActorContainer TickImpl (fDelSecond) end
 
function XEActorContainer RenderImpl (pViewport) end
 
function XEActorContainer SortActorInRenderOrder () end
 
function XEActorContainer AddActorToRenderOrder (pActor) end
 
function XEActorContainer RemoveActorFromRenderOrder (pActor) end
 
function XEActorContainer MakeActorInRenderOrderSafe () end
 
function XEActorContainer CreateActor (szActorType, szActorName, szActorIdString, bCreateAnyway) end
 
function XEActorContainer HasActor (pActor, bIgnoreDeleted) end
 
function XEActorContainer HasActorNotChildPrefab (pActor, bIgnoreDeleted) end
 
function XEActorContainer GetActorCount (strActorType) end
 
function XEActorContainer GetActorsOfType (strActorType, actorList) end
 
function XEActorContainer GetActorsOfType (strActorType) end
 
function XEActorContainer GetActorsOfTypeNoPrefab (strActorType, actorList) end
 
function XEActorContainer GetActorsOfTypeNoPrefab (strActorType) end
 
function XEActorContainer UpdateNameOfActor (strActorOldName, strActorNewName) end
 
function XEActorContainer GetAllActors (actorList) end
 
function XEActorContainer GetAllActors () end
 
function XEActorContainer GetActors (actorList) end
 
function XEActorContainer GetActors () end
 
function XEActorContainer GetActorFastMap (htActor) end
 
function XEActorContainer GetActorFastMap () end
 
function XEActorContainer GetOwner () end
 
function XEActorContainer AddIgnoreLoadingActor (pActorName) end
 
function XEActorContainer GetActorValidOrder () end
 
function XEActorContainer RemoveActor (pActor, bRemoveInPrefab) end
 
function XEActorContainer AddActor (pActor) end
 
function XEActorContainer RayPick (HitResult, pHitResultList, pRayCollisionChannel, pActorsExclude) end
 
function XEActorContainer LoadPrefabAsset (pActorContainer, szRelativePath) end
 

Variables

 XEActorContainer = {}
 

Function Documentation

◆ AddActor()

function XEActorContainer AddActor ( pActor  )

将指定Actor添加进Actor列表 (m_aActor和m_mActorFastR)

Parameters
pActorXEActor 待移除的Actor
Returns
boolean

◆ AddActorToRenderOrder()

function XEActorContainer AddActorToRenderOrder ( pActor  )

添加某个Actor到渲染队列

Parameters
pActorXEActor Actor指针
Returns
boolean 是否添加成功

◆ AddIgnoreLoadingActor()

function XEActorContainer AddIgnoreLoadingActor ( pActorName  )

在为关卡加载场景/反序列化Prefab之前,需要忽略序列化的某个Actor

Parameters
pActorNamestring
Returns
void

◆ CreateActor()

function XEActorContainer CreateActor ( szActorType  ,
szActorName  ,
szActorIdString  ,
bCreateAnyway   
)

创建指定类型的XEActor,并添加进当前所有关卡中

Parameters
szActorTypestring Actor类型名称
szActorNamestring Actor名称
szActorIdStringstring Actor唯一id
bCreateAnywayboolean 指定当容器中已经存在名称为strActorName或者IdString已经存在的Actor时,返回NULL(=false)还是以新的可用名字/id创建。
Returns
XEActor

◆ FindActor()

function XEActorContainer FindActor ( strActorName  ,
bFindInPrefab   
)

查找Actor

Parameters
strActorNamestring
bFindInPrefabboolean
Returns
XEActor

◆ FindActorByIdString()

function XEActorContainer FindActorByIdString ( strActorIdString  ,
bFindInPrefab   
)

根据IdString查找Actor

Parameters
strActorIdStringstring
bFindInPrefabboolean
Returns
XEActor

◆ FindActorByOriginalIdString()

function XEActorContainer FindActorByOriginalIdString ( strActorIdString  ,
bFindInPrefab   
)

根据来源IdString查找对应的Actor

Parameters
strActorIdStringstring
bFindInPrefabboolean
Returns
XEActor

◆ GetActorCount()

function XEActorContainer GetActorCount ( strActorType  )

返回Actor的个数

Parameters
strActorTypestring
Returns
number

◆ GetActorFastMap() [1/2]

function XEActorContainer GetActorFastMap ( htActor  )

获取当前容器中所有的actor哈希表,涉及到Actor哈希表的遍历和拷贝,尽量不要在Tick/Render中使用

Parameters
htActorxhashtable_XString_and_XEActor_p_ [out]m_mActorFastR+所有XEPrefabActor内部维护的m_mActorFastR
Returns
void

◆ GetActorFastMap() [2/2]

function XEActorContainer GetActorFastMap ( )

XEActorContainer_GetActorFastMap01

Returns
xhashtable_XString_and_XEActor_p_
void

XEActorContainer_GetActorFastMap02

Returns
xhashtable_XString_and_XEActor_p_

◆ GetActors() [1/2]

function XEActorContainer GetActors ( actorList  )

获取当前实例管理的Actor列表

Parameters
actorListXEActor[]
Returns
void

◆ GetActors() [2/2]

function XEActorContainer GetActors ( )

XEActorContainer_GetActors01

Returns
XEActor[]
void

◆ GetActorsOfType() [1/2]

function XEActorContainer GetActorsOfType ( strActorType  ,
actorList   
)

查找某种类型的Actor,遍历所有Actor,包括Prefab内部管理的Actor

Parameters
strActorTypestring 要查找的Actor类型
actorListXEActor[] [out]找到的对应类型的Actor列表
Returns
void

◆ GetActorsOfType() [2/2]

function XEActorContainer GetActorsOfType ( strActorType  )

XEActorContainer_GetActorsOfType01

Parameters
strActorTypestring
Returns
XEActor[]
void

◆ GetActorsOfTypeNoPrefab() [1/2]

function XEActorContainer GetActorsOfTypeNoPrefab ( strActorType  ,
actorList   
)

查找某种类型的Actor,只在m_aActor中查找,不查找PrefabActor内部的Actor

Parameters
strActorTypestring 要查找的Actor类型
actorListXEActor[] [out]找到的对应类型的Actor列表
Returns
void

◆ GetActorsOfTypeNoPrefab() [2/2]

function XEActorContainer GetActorsOfTypeNoPrefab ( strActorType  )

XEActorContainer_GetActorsOfTypeNoPrefab01

Parameters
strActorTypestring
Returns
XEActor[]
void

◆ GetActorValidOrder()

function XEActorContainer GetActorValidOrder ( )

获取关卡一个有效的Actor排序索引

Returns
number

◆ GetAllActors() [1/2]

function XEActorContainer GetAllActors ( actorList  )

获取当前容器中所有的Actor,涉及到Actor列表的遍历和拷贝,尽量不要在Tick/Render中使用

Parameters
actorListXEActor[] [out]m_aActor+所有XEPrefabActor内部维护的ActorList
Returns
void

◆ GetAllActors() [2/2]

function XEActorContainer GetAllActors ( )

XEActorContainer_GetAllActors01

Returns
XEActor[]
void

XEActorContainer_GetAllActors02

Returns
XEActor[]

◆ GetOwner()

function XEActorContainer GetOwner ( )

XEActorContainer_GetOwner00

Returns
XEWorld

◆ HasActor()

function XEActorContainer HasActor ( pActor  ,
bIgnoreDeleted   
)

判断是否存在某个Actor,从当前容器包含的Actor及包含的PrefabActor中包含的Actor中查找 当为true时,表示查找时如果找到了该Actor,不论它是否被标记为删除,都返回true; 当为false时,表示即使查找到了该Actor,但是它被标记为删除,那么返回false。

Parameters
pActorXEActor 判断的Actor指针
bIgnoreDeletedboolean 是否忽略Actor被删除的标记,默认为true。
Returns
boolean 是否找到

◆ HasActorNotChildPrefab()

function XEActorContainer HasActorNotChildPrefab ( pActor  ,
bIgnoreDeleted   
)

判断是否存在某个Actor,从当前容器包含的Actor中查找,不查找PrefabActor内部Actor 当为true时,表示查找时如果找到了该Actor,不论它是否被标记为删除,都返回true; 当为false时,表示即使查找到了该Actor,但是它被标记为删除,那么返回false。

Parameters
pActorXEActor 判断的Actor指针
bIgnoreDeletedboolean 是否忽略Actor被删除的标记,默认为true。
Returns
boolean 是否找到

◆ LoadPrefabAsset()

function XEActorContainer LoadPrefabAsset ( pActorContainer  ,
szRelativePath   
)

射线拾取 将Prefab资产在指定Actor容器中实例化

Parameters
pActorContainerXEActorContainer PrefabActor所属的容器
szRelativePathstring prefab资产相对路径
Returns
XEPrefabInstance Prefab实例

◆ MakeActorInRenderOrderSafe()

function XEActorContainer MakeActorInRenderOrderSafe ( )

当前所有Actor中, 确保渲染队列中的Actor都是有效的,把无效的都删除掉

Returns
void

◆ new()

function XEActorContainer new ( )

XEActorContainer_new00

Returns
XEActorContainer

◆ PresentPhysicsForActors()

function XEActorContainer PresentPhysicsForActors ( fDelSecond  )

为这个关卡的非删除Actor表示物理世界

Parameters
fDelSecondnumber
Returns
void

◆ RayPick()

function XEActorContainer RayPick ( HitResult  ,
pHitResultList  ,
pRayCollisionChannel  ,
pActorsExclude   
)

射线拾取

Parameters
HitResultXEHitResult
pHitResultListXEHitResult[] 拾取结果列表.
pRayCollisionChannelnumber[] 过滤的碰撞通道,表示这些通道不进行拾取测试.
pActorsExcludeXEActor[] 过滤的Actor数组.
Returns
boolean 是否拾取成功

◆ ReleaseActor()

function XEActorContainer ReleaseActor ( pActor  )

释放一个Actor

Parameters
pActorXEActor
Returns
boolean

◆ ReleaseAllActors()

function XEActorContainer ReleaseAllActors ( )

释放所有Actor

Returns
void

◆ RemoveActor()

function XEActorContainer RemoveActor ( pActor  ,
bRemoveInPrefab   
)

从Actor列表中移除指定Actor

Parameters
pActorXEActor 待移除的Actor
bRemoveInPrefabboolean 是否查找Prefab内并从Prefab内移除
Returns
boolean

◆ RemoveActorFromRenderOrder()

function XEActorContainer RemoveActorFromRenderOrder ( pActor  )

当前所有关卡中从渲染队列中去掉某个Actor

Parameters
pActorXEActor Actor指针
Returns
boolean 是否删除成功

◆ RenderImpl()

function XEActorContainer RenderImpl ( pViewport  )

渲染

Parameters
pViewportXEViewport
Returns
void

◆ SortActorInRenderOrder()

function XEActorContainer SortActorInRenderOrder ( )

XEActorContainer_SortActorInRenderOrder00

Returns
void

◆ TickImpl()

function XEActorContainer TickImpl ( fDelSecond  )

更新关卡Actor列表中未被标记为delete的Actor,更新物理世界、执行事件回调以及执行绑定脚本编辑器中的Tick响应函数等。

Parameters
fDelSecondnumber
Returns
void

◆ UpdateNameOfActor()

function XEActorContainer UpdateNameOfActor ( strActorOldName  ,
strActorNewName   
)

把名为strActorOldName的Actor改名为strActorNewName

Parameters
strActorOldNamestring
strActorNewNamestring
Returns
XEActor

Variable Documentation

◆ XEActorContainer