You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
381 B
Lua
20 lines
381 B
Lua
local listener = require "listener"
|
|
|
|
local Channel = {}
|
|
function Channel:new(event)
|
|
assert(event)
|
|
local obj = {
|
|
listeners = {},
|
|
event = event,
|
|
}
|
|
setmetatable(obj, self)
|
|
self.__index = self
|
|
return obj
|
|
end
|
|
|
|
function Channel:on(callback)
|
|
local li = listener:new(self, callback)
|
|
table.insert(self.listeners, li)
|
|
end
|
|
|
|
return Channel |