basalt.createObject() #77

Merged
thesabinelim merged 2 commits from create-object into master 2023-05-15 23:46:44 +08:00
3 changed files with 22 additions and 12 deletions

View File

@@ -70,6 +70,18 @@ local getVariable = function(name)
return variables[name] return variables[name]
end end
local getObjects = function()
return moddedObjects
end
local getObject = function(id)
return getObjects()[id]
end
local createObject = function(objectName, id, basalt)
return getObject(objectName)(id, basalt)
end
local bInstance = { local bInstance = {
getDynamicValueEventSetting = function() getDynamicValueEventSetting = function()
return basalt.dynamicValueEvents return basalt.dynamicValueEvents
@@ -127,14 +139,12 @@ local bInstance = {
stop = stop, stop = stop,
debug = basalt.debug, debug = basalt.debug,
log = basalt.log, log = basalt.log,
getObjects = getObjects,
getObjects = function() getObject = getObject,
return moddedObjects
end,
getObject = function(id) createObject = createObject,
return moddedObjects[id]
end,
getDirectory = function() getDirectory = function()
return projectDirectory return projectDirectory

View File

@@ -384,9 +384,9 @@ return function(name, basalt)
end end
end end
for k,v in pairs(basalt.getObjects())do for objectName, _ in pairs(basalt.getObjects()) do
container["add"..k] = function(self, name) container["add" .. objectName] = function(self, id)
return addObject(self, v(name, basalt)) return addObject(self, basalt.createObject(objectName, id, basalt))
end end
end end

View File

@@ -101,9 +101,9 @@ return function(name, basalt)
end, end,
} }
for k,v in pairs(basalt.getObjects())do for objectName, _ in pairs(basalt.getObjects()) do
object["add"..k] = function(self, name) object["add" .. objectName] = function(self, id)
local obj = base["add"..k](self, name) local obj = base["add" .. objectName](self, id)
applyLayout(base) applyLayout(base)
return obj return obj
end end