CreateSignal (Function): Difference between revisions
From Legacy Roblox Wiki
Jump to navigationJump to search
>XLEGOx No edit summary |
>JulienDethurens No edit summary |
||
Line 1: | Line 1: | ||
<onlyinclude>{{Function | <onlyinclude>{{Function | ||
|name = CreateSignal | |name = CreateSignal | ||
|returns = [[ | |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 11: | Line 11: | ||
This function is used to create "custom events" for use in user-code, that act mostly like normal Roblox events. For example: | This function is used to create "custom events" for use in user-code, that act mostly like normal Roblox events. For example: | ||
<code lua> | <code lua> | ||
local lib = LoadLibrary('RbxUtility') | local lib = assert(LoadLibrary('RbxUtility')) | ||
local sig = lib.CreateSignal() | local sig = lib.CreateSignal() | ||
-- | -- |
Revision as of 05:24, 9 February 2012
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