summaryrefslogtreecommitdiff
path: root/examples/resources/lib/pubsub.lua
diff options
context:
space:
mode:
authorjussi2024-04-13 18:44:42 +0300
committerjussi2024-04-13 18:44:42 +0300
commit1d66edf4f2390c25485ef4205b20c184de1c2f5d (patch)
tree7a3cd79e26d7b93a2fb4a3764171fbe90d22a9d4 /examples/resources/lib/pubsub.lua
parentb96960a1f97f815a6872fedc422ea950ed477cda (diff)
downloadreilua-enhanced-1d66edf4f2390c25485ef4205b20c184de1c2f5d.tar.gz
reilua-enhanced-1d66edf4f2390c25485ef4205b20c184de1c2f5d.tar.bz2
reilua-enhanced-1d66edf4f2390c25485ef4205b20c184de1c2f5d.zip
Position argument added for GetCodepoint, GetCodepointNext and GetCodepointPrevious.
Diffstat (limited to 'examples/resources/lib/pubsub.lua')
-rw-r--r--examples/resources/lib/pubsub.lua24
1 files changed, 18 insertions, 6 deletions
diff --git a/examples/resources/lib/pubsub.lua b/examples/resources/lib/pubsub.lua
index 2847d92..47d9a63 100644
--- a/examples/resources/lib/pubsub.lua
+++ b/examples/resources/lib/pubsub.lua
@@ -13,21 +13,33 @@ function PubSub:add( name )
self.signals[ name ] = {}
end
+function PubSub:remove( name )
+ if self.signals[ name ] ~= nil then
+ table.remove( self.signals, name )
+ end
+end
+
function PubSub:subscribe( name, func )
- table.insert( self.signals[ name ], func )
+ if self.signals[ name ] ~= nil then
+ table.insert( self.signals[ name ], func )
+ end
end
function PubSub:unSubscribe( name, uFunc )
- for i, func in ipairs( self.signals[ name ] ) do
- if func == uFunc then
- table.remove( self.signals[ name ], i )
+ if self.signals[ name ] ~= nil then
+ for i, func in ipairs( self.signals[ name ] ) do
+ if func == uFunc then
+ table.remove( self.signals[ name ], i )
+ end
end
end
end
function PubSub:publish( name, ... )
- for _, func in ipairs( self.signals[ name ] ) do
- func( ... )
+ if self.signals[ name ] ~= nil then
+ for _, func in ipairs( self.signals[ name ] ) do
+ func( ... )
+ end
end
end