@@ -11,11 +11,10 @@ connection.__index = connection
1111
1212export type callback = (... any ) -> ... any
1313
14- function connection .new (callback , signal )
14+ function connection .new (callback )
1515 return setmetatable ({
1616 Connected = true ,
1717 _callback = callback ,
18- _signal = signal
1918 }, connection )
2019end
2120
5352function signal :Connect (callback : callback ) -- Connects a function to the Signal
5453 assert (typeof (callback ) == " function" , string.format (" Invalid argument #1 (function expected got %s)" , typeof (callback )))
5554
56- local _connection = connection .new (callback , self )
55+ local _connection = connection .new (callback )
5756
5857 table.insert (self ._listeners , _connection )
5958
@@ -70,7 +69,7 @@ function signal:ConnectParallel(callback: callback) -- Connects a function to th
7069 task .synchronize ()
7170end
7271
73- function signal :Once (callback : callback )
72+ function signal :Once (callback : callback ) -- Disconnects after one fire
7473 local _connection = nil
7574
7675 _connection = self :Connect (function (...)
@@ -82,7 +81,7 @@ function signal:Once(callback: callback)
8281 return _connection
8382end
8483
85- function signal :Wait ()
84+ function signal :Wait () -- Waits until the signal is fired
8685 local waitCoroutine = coroutine.running ()
8786
8887 self :Once (function (...)
@@ -110,15 +109,17 @@ function signal:FireParallel(...: any) -- Call the callbacks from every listener
110109 task .synchronize ()
111110end
112111
113- function signal :DisconnectAll ()
112+ function signal :DisconnectAll () -- Disconnects all Listeners
114113 for i , v in ipairs (self ._listeners ) do
115114 v :Disconnect ()
116115 end
117116
118117 table .clear (self ._listeners )
119118end
120119
121- signal .Destroy = signal .DisconnectAll
120+ signal .Destroy = signal .DisconnectAll -- Signal:Destroy() -> Signal:DisconnectAll()
121+
122+ -- Make the signal class strict
122123
123124setmetatable (signal , {
124125 __index = function (_ , key )
0 commit comments