GE Lua Documentation

Press F to search!

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