quad/src/store.lua
2021-09-12 00:41:36 +09:00

39 lines
719 B
Lua

local module = {};
--[[
this feature allows get object without making some created callback and local var
but, it can't allows mulit id and object
this feature should be upgraded
]]
local insert = table.insert;
function module.init(shared)
local new = {};
local items = shared.items;
local objSpace = {};
function objSpace:each(func)
for i,v in ipairs(self) do
local ret = func(i,v);
if ret then
break;
end
end
end
function new.getObjects(id)
return items[id];
end
function new.addObject(id,object)
local array = items[id];
if not array then
array = setmetatable({},{__index = objSpace});
items[id] = array;
end
insert(array, object);
end
return new;
end
return module;