/LuauSignal

Primary LanguageLuaMIT LicenseMIT

LuauSignal


A pure-Luau signal implementation

LuauSignal is a signal implementation written for modern Luau, with the added benefit of being incredibly fast. It has an API that mirrors Roblox's RBXScriptSignal, with a few minor differences. The primary benefit that LuauSignal gives is it being strictly typed, with generic type arguments so you can typecheck your signals.

local LuauSignal = require(path.to.LuauSignal)

local tookDamage: LuauSignal.Signal<Player, number> = LuauSignal.new()

tookDamage:Connect(function(player, amount)
	print(`player { player.Name } took { amount } damage!`)
end)

tookDamage:Fire(Players.theReader101, 50)