2.7 KiB
Signal
A alternative of BindableEvent.
.Signal
Create new Signal.
::: code-group
(
Identifier: string
)
local Signal1 = Warp.Signal("Signal1")
:::
.fromSignalArray
Create new Signal.
::: code-group
(
{ string }
)
local Signals = Warp.fromSignalArray({"Signal1", "Signal2"})
Signals.Signal1:Connect(function(...) end)
Signals.Signal2:Connect(function(...) end)
:::
:Connect
::: code-group
(
callback: (...any) -> ()
)
Signal1:Connect(function(...)
print(...)
end)
:::
:Once
This function likely :Connect
but it disconnect the signal once it fired.
::: code-group
(
callback: (...any) -> ()
)
Signal1:Once(function(...)
print(...)
end)
:::
:Disconnect
Disconnect the signal connection.
::: code-group
(
key: string
)
local connection = Signal1:Connect(function(...) end) -- store the key
Signal1:Disconnect(connection)
:::
::: warning
This requires key
to disconnect a signal connection.
:::
:DisconnectAll
Disconnect All signal connections.
Signal1:DisconnectAll()
:Fire
Fire the signal.
::: code-group
(
...: any
)
Signal1:Fire("Hello World!")
:::
::: warning
This uses pcall
, which means it never error (safe-mode, sacrificed debugging), But gains performance here (upto 5x faster)
.
:::
:FireTo
Fire to other signal, this also use :Fire
.
::: code-group
(
signal: string,
...: any
)
Signals.Signal1:FireTo("Signal2", "Hello World!")
:::
::: warning
This requires key
.
:::
:Invoke
::: code-group
(
key: string,
...: any
) -> (...any)
local connection = Signal1:Conenct(function(...) return "hey!" end)
local Request = Signal1:Invoke(connection, "Hello World!")
:::
:InvokeTo
this use :Invoke
.
::: code-group
(
signal: string,
key: string,
...: any
) -> (...any)
local connection2 = Signals.Signal2:Conenct(function(...) return "hey!" end)
local Request = Signals.Signal1:Invoke("Signal2", connection2, "Hello World!")
:::
::: warning
This requires key
.
:::
:Wait
Wait the signal get triggered.
Signal1:Wait() -- return number (time)
::: warning This function is yielded :::
:Destroy
Disconnect all connection of signal and remove the signal from Signals
Signal1:Destroy()