Merge branch 'master' of https://github.com/qwreey75/Quad
This commit is contained in:
commit
11bd501a6b
2 changed files with 19 additions and 4 deletions
|
|
@ -91,11 +91,22 @@ function module.init(shared)
|
||||||
item[index] = dset;
|
item[index] = dset;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
value.register(function (newValue,store)
|
local tween = value.tvalue;
|
||||||
|
|
||||||
|
-- adding event function
|
||||||
|
local function regFn(newValue,store)
|
||||||
if with then
|
if with then
|
||||||
newValue = with(newValue,item,store);
|
newValue = with(newValue,item,store);
|
||||||
end
|
end
|
||||||
item[index] = newValue;
|
item[index] = newValue;
|
||||||
|
end
|
||||||
|
value.register(regFn);
|
||||||
|
|
||||||
|
-- this is using hacky of roblox instance
|
||||||
|
-- this is will keep reference from week table until
|
||||||
|
-- inscance got GCed
|
||||||
|
item:GetPropertyChangedSignal("ClassName"):Connect(function ()
|
||||||
|
return regFn;
|
||||||
end);
|
end);
|
||||||
elseif (valueType == "function" or valueType == "table") and bind(item,index,value,valueType) then -- connect event
|
elseif (valueType == "function" or valueType == "table") and bind(item,index,value,valueType) then -- connect event
|
||||||
-- event binding
|
-- event binding
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ local function catch(...)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local week = {__mode = "vk"};
|
||||||
function module.init(shared)
|
function module.init(shared)
|
||||||
local new = {};
|
local new = {};
|
||||||
local items = shared.items;
|
local items = shared.items;
|
||||||
|
|
@ -92,7 +93,7 @@ function module.init(shared)
|
||||||
self.__self[key] = value;
|
self.__self[key] = value;
|
||||||
local event = self.__evt[key];
|
local event = self.__evt[key];
|
||||||
if event then
|
if event then
|
||||||
for _,v in ipairs(event) do
|
for _,v in pairs(event) do -- NO ipairs here
|
||||||
wrap(catch)(v,value,store);
|
wrap(catch)(v,value,store);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -112,6 +113,9 @@ function module.init(shared)
|
||||||
default = function (s,value)
|
default = function (s,value)
|
||||||
return setmetatable({dvalue = value},{__index = s});
|
return setmetatable({dvalue = value},{__index = s});
|
||||||
end;
|
end;
|
||||||
|
tween = function (s,value)
|
||||||
|
return setmetatable({tvalue = value},{__index = s});
|
||||||
|
end;
|
||||||
key = key;
|
key = key;
|
||||||
store = self;
|
store = self;
|
||||||
t = "reg";
|
t = "reg";
|
||||||
|
|
@ -126,7 +130,7 @@ function module.init(shared)
|
||||||
end
|
end
|
||||||
function new.new(self)
|
function new.new(self)
|
||||||
return setmetatable(
|
return setmetatable(
|
||||||
{__self = self or {},__evt = {},__reg = {}},store
|
{__self = self or {},__evt = setmetatable({},week),__reg = setmetatable({},week)},store
|
||||||
);
|
);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue