Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local signalTemplate = {}
- function signalTemplate:connect(callback)
- local event = self.event.Event:connect(callback)
- table.insert(self.connections, event)
- return event
- end
- function signalTemplate:disconnect()
- for connectionIndex=1,#self.connections do
- self.connections[connectionIndex]:disconnect()
- end
- end
- function signalTemplate:wait()
- return self.event.Event:wait()
- end
- function signalTemplate:fire(...)
- self.event:Fire(...)
- end
- local signalMetatable = {
- __index = signalTemplate
- }
- local function CreateSignal()
- local signal = {}
- signal.event = Instance.new("BindableEvent")
- signal.connections = {}
- setmetatable(signal, signalMetatable)
- return signal
- end
- return {CreateSignal = CreateSignal}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement