Add Observe
This commit is contained in:
parent
3a51a6f751
commit
9bfa67e11f
3 changed files with 25 additions and 26 deletions
Binary file not shown.
Binary file not shown.
|
|
@ -334,36 +334,35 @@ function module.init(shared)
|
||||||
function store:__newindex(key,value)
|
function store:__newindex(key,value)
|
||||||
-- if got register, just copy data to self and connect
|
-- if got register, just copy data to self and connect
|
||||||
if PcallGetProperty(value,"__type") == "quad_register" then
|
if PcallGetProperty(value,"__type") == "quad_register" then
|
||||||
-- warn "[Quad] adding register value on store is only allowed when init store. set value request was ignored"
|
error "[Quad] adding register value on store is only allowed when init store. set value request was ignored"
|
||||||
|
-- local selfValues = self.__self
|
||||||
|
-- local selfTweens = self.__tweens
|
||||||
|
|
||||||
local selfValues = self.__self
|
-- -- fetch data from origin
|
||||||
local selfTweens = self.__tweens
|
-- do
|
||||||
|
-- local tstore = value.store
|
||||||
|
-- for tkey in gmatch(value.key,"^[,]") do
|
||||||
|
-- if not selfValues[tkey] then
|
||||||
|
-- selfValues[tkey] = tstore[tkey]
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
|
||||||
-- fetch data from origin
|
-- -- calc value
|
||||||
do
|
-- do
|
||||||
local tstore = value.store
|
-- local setValue,tween = value:CalcWithDefault(self)
|
||||||
for tkey in gmatch(value.key,"^[,]") do
|
-- selfValues[key] = setValue
|
||||||
if not selfValues[tkey] then
|
-- selfTweens[key] = tween
|
||||||
selfValues[tkey] = tstore[tkey]
|
-- end
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- calc value
|
-- -- make event connection
|
||||||
do
|
-- value:Register(function (_,newValue,eventKey)
|
||||||
local setValue,tween = value:CalcWithDefault(self)
|
-- -- !HOLD IT SELF TO PREVENT THIS REGISTER BEGIN REMOVED FROM MEMORY
|
||||||
selfValues[key] = setValue
|
-- local setValue = value:CalcWithNewValue(self,newValue,eventKey)
|
||||||
selfTweens[key] = tween
|
-- self[key] = setValue
|
||||||
end
|
-- end)
|
||||||
|
|
||||||
-- make event connection
|
-- return
|
||||||
value:Register(function (_,newValue,eventKey)
|
|
||||||
-- !HOLD IT SELF TO PREVENT THIS REGISTER BEGIN REMOVED FROM MEMORY
|
|
||||||
local setValue = value:CalcWithNewValue(self,newValue,eventKey)
|
|
||||||
self[key] = setValue
|
|
||||||
end)
|
|
||||||
|
|
||||||
return
|
|
||||||
end
|
end
|
||||||
self.__self[key] = value
|
self.__self[key] = value
|
||||||
local event = self.__evt[key]
|
local event = self.__evt[key]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue