Small refactor

Signed-off-by: Rahix <rahix@rahix.de>
This commit is contained in:
rahix 2019-04-17 02:55:15 +02:00
parent 50ae923ef7
commit e8ec24dacc

36
bc.lua
View file

@ -280,25 +280,23 @@ function BaseControl:set(name, value)
local old = self.local_nouns[name]
self.local_nouns[name] = value
if self.listeners[name] ~= nil then
for id, l in pairs(self.listeners[name]) do
if (l.query.ty == Query.Change.ty and value ~= old)
or (l.query.ty == Query.Rising.ty and value > old)
or (l.query.ty == Query.Falling.ty and value < old)
or (l.query.ty == Query.Equals.ty and value == l.query.v)
or (l.query.ty == Query.Above.ty and value > l.query.v)
or (l.query.ty == Query.Below.ty and value < l.query.v)
then
if l.callback ~= nil then
l.callback(value)
else
self.network:send(l.addr, {
ty=Message.ListenNotify,
noun=name,
id=id,
value=value,
})
end
for id, l in pairs(self.listeners[name] or {}) do
if (l.query.ty == Query.Change.ty and value ~= old)
or (l.query.ty == Query.Rising.ty and value > old)
or (l.query.ty == Query.Falling.ty and value < old)
or (l.query.ty == Query.Equals.ty and value == l.query.v)
or (l.query.ty == Query.Above.ty and value > l.query.v)
or (l.query.ty == Query.Below.ty and value < l.query.v)
then
if l.callback ~= nil then
l.callback(value)
else
self.network:send(l.addr, {
ty=Message.ListenNotify,
noun=name,
id=id,
value=value,
})
end
end
end