spawnPrefab
Definition
-- @/lua/ge/ge_utils.lua:741
function spawnPrefab(objName, objFileName, objPos, objRotation, objScale, useGlobalTranslation)
if string.endswith(objFileName, ".prefab.json") then
local jsonData = jsonReadFile(objFileName)
if jsonData.class and jsonData.class == 'PrefabV2' then
local prefabTemplateName = prefabFilenameToTemplateName(objFileName)
local prefab = scenetree.findObject(prefabTemplateName)
if not prefab then
loadPrefabv2Template(objFileName)
prefab = scenetree.findObject(prefabTemplateName)
if not prefab then
log('E','','loading prefab template failed')
return
end
end
if type(objPos) == 'string' then
local x, y, z = string.match(objPos, "([0-9]*)%s*([0-9]*)%s*([0-9]*)%s*")
objPos = vec3(tonumber(x), tonumber(y), tonumber(z))
end
if type(objRotation) == 'string' then
local x, y, z, w = string.match(objRotation, "([0-9]*)%s*([0-9]*)%s*([0-9]*)%s*([0-9]*)")
objRotation = QuatF(x,y,z,w)
end
if type(objScale) == 'string' then
local x, y, z = string.match(objScale, "([0-9]*)%s*([0-9]*)%s*([0-9]*)%s*")
objScale = vec3(tonumber(x), tonumber(y), tonumber(z))
end
local instance = prefab:spawn(objName, objPos, objRotation, objScale)
if instance then
local missionGroup = scenetree.MissionGroup
if missionGroup then
missionGroup:addObject(instance)
end
if editor and editor.active then
editor.requestCollisionRebuild()
end
else
log('E','','spawning prefab instance failed')
end
return instance
end
end
local p = addPrefab(objName, objFileName, objPos, objRotation, objScale, useGlobalTranslation)
if p then
log('D', logTag, 'loading prefab '..objName)
p:load()
local missionGroup = scenetree.MissionGroup
if missionGroup then
missionGroup:addObject(p)
end
if editor and editor.active then
editor.requestCollisionRebuild()
end
end
return p
end
Callers
@/lua/ge/extensions/scenario/scenarios.lua
if val == 2 then
return spawnPrefab(objName, objFileName, objPos, objRotation, objScale)
elseif val == 1 then
if not scenetree.findObject(objName) then
local prefabObj = spawnPrefab(objName, filename, '0 0 0', '0 0 1 0', '1 1 1')
ScenarioObjectsGroup:addObject(prefabObj.obj)
@/lua/ge/extensions/gameplay/crawl/utils.lua
local _, fn = path.splitWithoutExt(filePath)
local scenetreeObject = spawnPrefab(Sim.getUniqueName(fn), filePath, 0 .. " " .. 0 .. " " .. 0, "0 0 1 0", "1 1 1", false)
scenetreeObject.canSave = false
@/flowgraphEditor/Tower/customNodes/towerNode.lua
local name = generateObjectNameForClass('Prefab', string.format("%s - %d - ", string.sub(fn, 1, string.len(fn) - string.len(ext)-1), i))
local scenetreeObject = spawnPrefab(name , self.mgr.savedDir .. room.file, "0 0 0", "0 0 1 0", "1 1 1", false)
scenetreeObject.canSave = false
@/lua/ge/extensions/editor/util/editorElementHelper.lua
if im.Selectable1("Spawn Prefab at Origin") then
local prefab = spawnPrefab(Sim.getUniqueName(e.label..e._id),e.foundFile,"0 0 0","0 0 1 0","1 1 1")
if prefab then
@/lua/ge/extensions/flowgraph/nodes/scene/spawnPrefab.lua
local name = self.pinIn.name.value or generateObjectNameForClass('Prefab', "prefab_" .. self.id)
local scenetreeObject = spawnPrefab(name , file, pos.x .. " " .. pos.y .. " " .. pos.z, "0 0 1 0", "1 1 1", self.pinIn.useGlobalTranslation.value)
scenetreeObject.canSave = false
@/lua/ge/extensions/flowgraph/modules/prefabModule.lua
function C:spawnPrefab(fileName)
local pos = vec3(0,0,0)
local name = generateObjectNameForClass('Prefab', "prefab_")
local scenetreeObject = spawnPrefab(name , file, pos.x .. " " .. pos.y .. " " .. pos.z, "0 0 1 0", "1 1 1", false)
scenetreeObject.canSave = false
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
if im.Selectable1("Spawn Prefab at Origin") then
local prefab = spawnPrefab(Sim.getUniqueName(mission.id.." - " .. e.label),e.foundFile,"0 0 0","0 0 0 1","1 1 1")
if prefab then
@/lua/ge/extensions/editor/trafficManager.lua
local name = generateObjectNameForClass("Prefab", fn)
local prefab = spawnPrefab(name, prefabFilePath, "0 0 0", "0 0 1", "1 1 1", true)
@/lua/ge/extensions/gameplay/missions/missionManager.lua
for i, p in ipairs(mission.prefabs) do
local obj = spawnPrefab(mission.id.."_prefab_" .. i , p, "0 0 0", "0 0 0 1", "1 1 1")
if obj == nil then
@/lua/ge/extensions/editor/barriersEditor.lua
local dir, filename, ext = path.splitWithoutExt(f)
local scenetreeObject = spawnPrefab("prefab_temp_" .. filename ..os.time(), f, "0 0 0 ", "0 0 1", "1 1 1")
local short = f:sub(levelPartLength)
if elem.selected then
local scenetreeObject = spawnPrefab("prefab_temp_" .. filename .."__"..os.time(), f, "0 0 0 ", "0 0 1", "1 1 1")
if scenetree and scenetreeObject and scenetree.MissionGroup then
@/lua/ge/extensions/editor/assetBrowser.lua
if editor.assetDragDrop.data.type == 'prefab' then
var.dragDropMesh = spawnPrefab(Sim.getUniqueName(editor.assetDragDrop.data.fileName), editor.assetDragDrop.data.path, "0 0 0", "1 0 0 0", "1 1 1")
if var.dragDropMesh then
fn = function(asset)
local prefab = spawnPrefab(Sim.getUniqueName(asset.fileName),asset.path,"0 0 0","1 0 0 0","1 1 1")
if prefab then
fn = function(asset)
local prefab = spawnPrefab(Sim.getUniqueName(asset.fileName),asset.path,"0 0 0","1 0 0 0","1 1 1")
if prefab then
@/lua/ge/extensions/editor/raceEditor/tools.lua
r = r:toTorqueQuat()
decoration = spawnPrefab(objName, obj,
t.pos.x.." "..t.pos.y.." "..t.pos.z,
@/lua/ge/extensions/gameplay/discover/discover_038.lua
local name = generateObjectNameForClass('Prefab', "prefab_")
local scenetreeObject = spawnPrefab(name , prefabFile, "0 0 0", "0 0 1 0", "1 1 1", false)
scenetreeObject.canSave = false
local name = generateObjectNameForClass('Prefab', "prefab_")
local scenetreeObject = spawnPrefab(name , prefabFile, "0 0 0", "0 0 1 0", "1 1 1", false)
scenetreeObject.canSave = false
local name = generateObjectNameForClass('Prefab', "prefab_")
local scenetreeObject = spawnPrefab(name , prefabFile, "0 0 0", "0 0 1 0", "1 1 1", false)
scenetreeObject.canSave = false
@/lua/ge/extensions/gameplay/race/path.lua
local name = generateObjectNameForClass('Prefab',"fromTrackPrefab_")
local scenetreeObject = spawnPrefab(name , p, "0 0 0", "0 0 1", "1 1 1")
table.insert(spawnedPrefabs, scenetreeObject)
@/lua/ge/extensions/campaign/exploration.lua
if not scenetree.findObject(prefabName) then
local prefabObj = spawnPrefab(prefabName, prefabPath, '0 0 0', '0 0 1', '1 1 1')
scenarioTriggersGroup:addObject(prefabObj.obj)
@/lua/ge/extensions/util/showroom.lua
local pos = getSuitablePosition()
prefab = spawnPrefab(Sim.getUniqueName("Showroom"),prefabPath,string.format("%d %d %d", pos.x, pos.y, pos.z) ,"0 0 1 0","1 1 1", true)
if not prefab then
@/lua/ge/extensions/editor/objectTool.lua
end
obj = spawnPrefab(name, filename, posString, rotString, scaleString)
if obj then
@/lua/ge/main.lua
log('I', 'convertPrefabtoJson', ' spawning prefab as = ' .. tostring(filename) )
local csPrefab = spawnPrefab(filename, filepath, '0 0 0', '0 0 1 0', '1 1 1')
if csPrefab then
log('I', 'validatePrefabJson', ' Validating prefab as = ' .. tostring(filename) )
local prefab = spawnPrefab(filename, filepath, '0 0 0', '0 0 1', '1 1 1')
if prefab then
function load_test_prefabv1()
local prefab = spawnPrefab("test_v1", "/levels/smallgrid/test_v1.prefab.json", '0 0 0', '0 0 1 0', '1 1 1')
if prefab then
function load_spawn_prefabv2_indirect()
local prefab = spawnPrefab("test_v2", "/levels/smallgrid/test_v2.prefab.json", '0 0 0', '0 0 1 0', '1 1 1')
if prefab then
@/lua/ge/extensions/editor/missionEditor/prefabs.lua
local dir, filename, ext = path.split(file)
local p = spawnPrefab(Sim.getUniqueName(self.mission.id.."-"..filename),file,"0 0 0","0 0 1 0","1 1 1")
if p then
@/lua/ge/extensions/gameplay/drag/saveSystem.lua
local treeName = treeNames[data.prefabs.christmasTree.treeType] or "Christmas Tree"
local prefabId = spawnPrefab(treeName, data.prefabs.christmasTree.path, "0 0 0", "0 0 1 0", "1 1 1", false)
if prefabId then
if data.prefabs.displaySign.path then
local prefabId = spawnPrefab("Display Sign", data.prefabs.displaySign.path, "0 0 0", "0 0 1 0", "1 1 1", false)
if prefabId then
if data.prefabs.decorations.path then
local prefabId = spawnPrefab("Decorations", data.prefabs.decorations.path, "0 0 0", "0 0 1 0", "1 1 1", false)
if prefabId then
if data.prefabs.paths.path then
local prefabId = spawnPrefab("Paths", data.prefabs.paths.path, "0 0 0", "0 0 1 0", "1 1 1", false)
if prefabId then