FindObject

FindObject

FindObject 用于查找对象。

重载 #1 根据类名或对象短名称查找。

重载 #2 的工作方式与 UE 源码中的 FindObject 相同。

参数(重载 #1)

# 类型 说明
1 string|FName|UClass|nil 对象所属类的短名称,或 UClass 本身
2 string|FName|nil 对象本身的短名称
3 EObjectFlags 对象不能具有的标志。使用 | 分隔
4 EObjectFlags 对象必须具有的标志。使用 | 分隔

参数 1 或参数 2 可以为 nil,但不能同时为 nil。

参数(重载 #2)

# 类型 说明
1 UClass 要查找的类
2 UObject|UClass 要在其内部查找的 outer。如果为 null,参数 3 应以包名开头
3 string 用于查找对象的路径,相对于参数 2
4 bool 是否要求与 UClass 参数精确匹配

返回值(重载 #1 和 #2)

# 类型 说明
1 UObject UObject 的派生对象

示例(重载 #1)

-- SceneComponent instance called TransformComponent0
local Object = FindObject("SceneComponent", "TransformComponent0")
-- FirstPersonCharacter_C instance called FirstPersonCharacter_C_0
local Object = FindObject("FirstPersonCharacter_C", "FirstPersonCharacter_C_0", EObjectFlags.RF_NoFlags, EObjectFlags.RF_ClassDefaultObject)

也可以使用 UClass 对象:

local Object = FindObject(SceneComponentClass, "TransformComponent0")

示例(重载 #2)

local Object = FindObject(UClass, World, "Character", true)

原文:docs/lua-api/global-functions/findobject.md · 固定提交 560411f18512 · 来源与 MIT 许可