getDynamicObjectsFromPrefab
Definition
-- @/lua/ge/extensions/gameplay/crawl/utils.lua:99
local function getDynamicObjectsFromPrefab(prefabId, dynamicName)
if not prefabId or not dynamicName then
return {}
end
local prefab = scenetree.findObjectById(prefabId)
if not prefab then
return {}
end
local dynamicObjects = {}
for i = 0, prefab:size() - 1 do
local child = prefab:at(i)
local id = child:getID()
local dF = child:getDynamicFields()
for _, value in pairs(dF or {}) do
if type(value) == "string" and value == dynamicName then
table.insert(dynamicObjects, id)
break
end
end
end
return dynamicObjects
end
Callers
@/lua/ge/extensions/gameplay/crawl/crawlFlowgraphBridge.lua
M.getDynamicObjectsFromPrefab = function(prefabId, dynamicName)
return gameplay_crawl_utils.getDynamicObjectsFromPrefab(prefabId, dynamicName)
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/getDynamicObjects.lua
local objects = self.bridge.getDynamicObjectsFromPrefab(prefabId, dynamicName)
self.pinOut.dynamicObjects.value = objects or {}
@/lua/ge/extensions/gameplay/crawl/flowgraphBridge.lua
M.getDynamicObjectsFromPrefab = function(prefabId, dynamicName)
return gameplay_crawl_utils.getDynamicObjectsFromPrefab(prefabId, dynamicName)
end
@/lua/ge/extensions/gameplay/crawl/utils.lua
local prefabDynamicObjects = getDynamicObjectsFromPrefab(prefabId, "crawlDynamic")
for _, objId in ipairs(prefabDynamicObjects) do