v9.7.2: Ebonhold Database integration and core logic refinements
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
-- The only public class except for Questie
|
||||
---@class QuestieLoader
|
||||
QuestieLoader = {}
|
||||
|
||||
|
||||
local modules = {}
|
||||
|
||||
QuestieLoader._modules = modules -- store reference so modules can be iterated for profiling
|
||||
|
||||
---@generic T
|
||||
---@param name `T` @Module name
|
||||
---@return T|{ private: table } @Module reference
|
||||
function QuestieLoader:CreateModule(name)
|
||||
if (not modules[name]) then
|
||||
modules[name] = { private = {} }
|
||||
return modules[name]
|
||||
else
|
||||
return modules[name]
|
||||
end
|
||||
end
|
||||
|
||||
---@generic T
|
||||
---@param name `T` @Module name
|
||||
---@return T|{ private: table } @Module reference
|
||||
function QuestieLoader:ImportModule(name)
|
||||
if (not modules[name]) then
|
||||
modules[name] = { private = {} }
|
||||
return modules[name]
|
||||
else
|
||||
return modules[name]
|
||||
end
|
||||
end
|
||||
|
||||
function QuestieLoader:PopulateGlobals() -- called when debugging is enabled
|
||||
for name, module in pairs(modules) do
|
||||
_G[name] = module
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user