jiwonz/signal
v0.1.0 ·
Fast and simple signal class for Luau, Lune, and Roblox
luau-signal
Fast and simple signal class for Luau, Lune, and Roblox
This project is a fork of LemonSignal
Installation
Install via pesde
pesde add jiwonz/signal
Usage
local Signal = require("../luau_packages/signal")
local sig = Signal.new() :: Signal.Signal<number> -- Fully typed
local connection = sig:connect(function(x)
print(`2 + {x} = {2 + x}`)
end)
sig:fire(1)
connection:disconnect()
-- Reconnection
local once = sig:once(function(x)
print(x ^ 2)
end)
sig:fire(5) -- prints "25"
once:reconnect()
sig:fire(10) -- prints "100"
sig:fire(2) -- prints nothing
-- Destruction
sig:disconnectAll()
sig:delete() -- Disconnects all connections and makes itself unusable