diff --git a/Basalt/main.lua b/Basalt/main.lua index 40d9ab5..ff25cc6 100644 --- a/Basalt/main.lua +++ b/Basalt/main.lua @@ -70,6 +70,18 @@ local getVariable = function(name) return variables[name] 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 = { getDynamicValueEventSetting = function() return basalt.dynamicValueEvents @@ -127,14 +139,12 @@ local bInstance = { stop = stop, debug = basalt.debug, log = basalt.log, + + getObjects = getObjects, - getObjects = function() - return moddedObjects - end, + getObject = getObject, - getObject = function(id) - return moddedObjects[id] - end, + createObject = createObject, getDirectory = function() return projectDirectory diff --git a/Basalt/objects/Container.lua b/Basalt/objects/Container.lua index a1d509b..2e7cc4c 100644 --- a/Basalt/objects/Container.lua +++ b/Basalt/objects/Container.lua @@ -384,9 +384,9 @@ return function(name, basalt) end end - for k,v in pairs(basalt.getObjects())do - container["add"..k] = function(self, name) - return addObject(self, v(name, basalt)) + for objectName, _ in pairs(basalt.getObjects()) do + container["add" .. objectName] = function(self, id) + return addObject(self, basalt.createObject(objectName, id, basalt)) end end diff --git a/Basalt/objects/Flexbox.lua b/Basalt/objects/Flexbox.lua index c0415c3..f7a97a8 100644 --- a/Basalt/objects/Flexbox.lua +++ b/Basalt/objects/Flexbox.lua @@ -101,9 +101,9 @@ return function(name, basalt) end, } - for k,v in pairs(basalt.getObjects())do - object["add"..k] = function(self, name) - local obj = base["add"..k](self, name) + for objectName, _ in pairs(basalt.getObjects()) do + object["add" .. objectName] = function(self, id) + local obj = base["add" .. objectName](self, id) applyLayout(base) return obj end