Reactive properties #65

Merged
thesabinelim merged 4 commits from dynamic-attributes into master 2023-05-08 18:03:50 +08:00
Showing only changes of commit c93d6bf91f - Show all commits

View File

@@ -438,6 +438,22 @@ return {
scripts.env.basalt = basalt
scripts.env.main = self
scripts.env.shared = {}
scripts.env.sharedObservers = {}
local shared = {}
setmetatable(scripts.env.shared, {
__index = function(_, k)
return shared[k]
end,
__newindex = function(_, k, v)
local observers = scripts.env.sharedObservers[k]
if observers ~= nil then
for _,observer in pairs(observers) do
observer(v)
end
end
shared[k] = v
end
})
local f = fs.open(path, "r")
local data = XmlParser:ParseXmlText(f.readAll())
f.close()