Advertisement
lvs

Untitled

lvs
Aug 6th, 2014
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.68 KB | None | 0 0
  1. local _M = {}
  2.  
  3. local listeners = {}
  4.  
  5. function _M.addListener(name, listener)
  6.     if not name or not listener then return end
  7.     if not listeners[name] then listeners[name] = {} end
  8.     table.insert(listeners[name], listener)
  9. end
  10.  
  11. function _M.removeListener(name, listener)
  12.     if not name or not listener or not listeners[name] then return end
  13.     local ind = table.indexOf(listeners[name], listener)
  14.     if ind then table.remove(listeners[name], ind) end
  15. end
  16.  
  17. function _M.dispatch(name, params)
  18.     if not name or not listeners[name] then return end
  19.     local l = listeners[name]
  20.     for i = 1, #l do
  21.         l[i](params and table.copy(params))
  22.     end)
  23. end
  24.  
  25. return _M
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement