CreateSignal (Function): Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>JulienDethurens
No edit summary
m Text replacement - "<SyntaxHighlight code="lua">" to "<syntaxhighlight lang="lua">"
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<onlyinclude>{{Function
<onlyinclude>{{Function
|name        = CreateSignal
|name        = CreateSignal
|returns    = [[LuaSignal]]
|returns    = [[RbxUtility (Library)/LuaSignal|LuaSignal]]
|description = Returns a LuaSignal object which acts much like the real [[RBXScriptSignal]] objects, which ROBLOX events use, only implemented in-Lua for full control from within scripts.
|description = Returns a LuaSignal object which acts much like the real [[RBXScriptSignal]] objects, which ROBLOX events use, only implemented in-Lua for full control from within scripts.
}}
}}
Line 7: Line 7:
{{clear floats}}
{{clear floats}}
</onlyinclude>
</onlyinclude>
== Description ==
This function is used to create "custom events" for use in user-code, that act mostly like normal Roblox events. For example:
<syntaxhighlight lang="lua">
local lib = assert(LoadLibrary('RbxUtility'))
local sig = lib.CreateSignal()
--
sig:connect(function(message)
    print("Message: "..tostring(message))
end)
--
sig:fire("Hello, World!") --> Makes the event fire, so that all the handlers are called
</syntaxhighlight>
Note that the LuaSignal class also supports all of the other properties of events, such as wait:
<syntaxhighlight lang="lua">
Spawn(function()
    local result = sig:wait()
    print("Result: "..tostring(result))
end)
sig:fire("Continue Message") --> Makes any waiting code continue, as well as firing connected functions
</syntaxhighlight>


==See Also==
==See Also==

Latest revision as of 06:19, 27 April 2023

CreateSignal( )
Returns LuaSignal
Description: Returns a LuaSignal object which acts much like the real RBXScriptSignal objects, which ROBLOX events use, only implemented in-Lua for full control from within scripts.


Description

This function is used to create "custom events" for use in user-code, that act mostly like normal Roblox events. For example:

local lib = assert(LoadLibrary('RbxUtility'))
local sig = lib.CreateSignal()
--
sig:connect(function(message)
    print("Message: "..tostring(message))
end)
--
sig:fire("Hello, World!") --> Makes the event fire, so that all the handlers are called

Note that the LuaSignal class also supports all of the other properties of events, such as wait:

Spawn(function()
    local result = sig:wait()
    print("Result: "..tostring(result))
end)
sig:fire("Continue Message") --> Makes any waiting code continue, as well as firing connected functions

See Also