getAvailableStateTemplates
Definition
-- @/lua/ge/extensions/core/flowgraphManager.lua:323
local function getAvailableStateTemplates()
local stateTemplatePath = '/flowgraphEditor/states/'
if not stateLookup then
local res = {}
local lookup = {}
for i, filename in ipairs(FS:findFiles(stateTemplatePath, '*state.flow.json', -1, true, false)) do
local dirname, fn, e = path.splitWithoutExt(filename, true)
local path = dirname:sub(string.len(stateTemplatePath) + 1)
if path ~= "" then
local pathArgs = split(path, '/')
local treeNode = res
for i = 1, #pathArgs do
if pathArgs[i] ~= '' then
if not treeNode[pathArgs[i]] then
treeNode[pathArgs[i]] = { states = {} }
end
treeNode = treeNode[pathArgs[i]]
end
end
local moduleName = fn
--local requireFilename = string.sub(filename, 1, string.len(filename) - 4)
local stateData = {}
stateData.data = jsonReadFile(filename)
stateData.path = path .. moduleName
stateData.sourcePath = stateTemplatePath .. path .. moduleName..'.lua'
stateData.splitPath = pathArgs
stateData.splitPath[#stateData.splitPath] = moduleName
stateData.splitPath[#stateData.splitPath+1] = stateData.name
treeNode.states[moduleName] = stateData
lookup[path .. moduleName] = stateData
end
end
stateLookup = {lookup = lookup, res = res}
end
return stateLookup.res, stateLookup.lookup
end
Callers
@/lua/ge/extensions/flowgraph/manager.lua
function C:getAvailableStateTemplates()
return self.fgMgr.getAvailableStateTemplates()
function C:getAvailableStateTemplates()
return self.fgMgr.getAvailableStateTemplates()
end
@/lua/ge/extensions/editor/flowgraph/nodelibrary.lua
-- find basic nodes
local _, flat = core_flowgraphManager.getAvailableStateTemplates()
for path, info in pairs(flat) do
--if self.mgr and self.mgr.newStateTemplateAdded then
self.stateTemplates = self.mgr:getAvailableStateTemplates()
self.stateTemplatesSorted = {}
elseif mode == 'states' then
templates = self.mgr:getAvailableStateTemplates()
end