SHost
Index
Functions Index
| Function Name |
|---|
| void InvokeEvent (string name) |
| void Stop () |
| void InvokeDelayed (Closure c, float delay) |
void StartCoroutine (DynValue value, DynValue parameter=default(DynValue), string name=null) |
| bool ReferenceExists (string name) |
| bool ReferenceExistsAndNotEmpty (string name) |
| SGameObject GetReference (string name) |
| void Evaluate (string script) |
Properties Index
| Property Name |
|---|
SGameObject ExecutingObject get |
string Language get |
Functions
InvokeEvent
void InvokeEvent (string name)
Invokes a UnityEvent attached to the Scripting Runtime component this script is executing in.
| Parameter | Type | Description |
|---|---|---|
- Lua
Space.Host.InvokeEvent("EventName")
Stop
void Stop ()
Pauses the current script until it is manually restarted, at the end of the current function/method; consider using return as well.
- Lua
Space.Host.Stop()
- Lua
local trans=Space.Host.ExecutingObject;
trans.SubscribeToEvents();
function Running()
Space.Log("Running")
end
trans.OnUpdate(Running)
Space.Host.InvokeDelayed(function()
Space.Log("Stop")
Space.Host.Stop()
end,5)
--After print the "Stop","Running" won't display anymore.
InvokeDelayed
void InvokeDelayed (Closure c, float delay)
Invoke the closure after the delayed time.
| Parameter | Type | Description |
|---|---|---|
- Lua
Space.Host.InvokeDelayed(AFunction, 10)
- Lua
--Clicking this object makes it destroy itself after 5 seconds
thisObject = Space.Host.ExecutingObject
function DeleteFunction()
thisObject.Destroy()
end
function OnClickFunction()
Space.Host.InvokeDelayed(DeleteFunction,10)
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
StartCoroutine
void StartCoroutine (DynValue value, DynValue parameter=default(DynValue), string name=null)
void StartCoroutine (string value, DynValue parameter=default(DynValue), string name=null)
Executes the specified function as a coroutine.
| Parameter | Type | Description |
|---|---|---|
- Lua
Space.Host.StartCoroutine(aFunction)
--or
Space.Host.StartCoroutine("aFunctionName")
- Lua
local function myCoroutine()
-- The yield statement is a special kind of return, that ensures that the function will continue from the line once the coroutine resumes.
-- Placing a float value inside of the yield will result in a delayed execution.
-- Example: coroutine.yield(0.5) will wait 0.5 seconds before continuing the execution of the coroutine.
-- This will print the current players active time.
Space.Log(Space.Time);
-- Execution of this coroutine will be halted for 10 seconds.
coroutine.yield(10);
-- This will print the current players active time, which will be 10 seconds greater then the previous as a result of the yield
Space.Log(Space.Time);
end
Space.Host.StartCoroutine(myCoroutine);
ReferenceExists
bool ReferenceExists (string name)
Return true when the reference object exists and is not empty.
| Parameter | Type | Description |
|---|---|---|
- Lua
referenceExists = Space.Host.ReferenceExists("the reference name")
ReferenceExistsAndNotEmpty
bool ReferenceExistsAndNotEmpty (string name)
Return true when the reference object exists and is not empty.
| Parameter | Type | Description |
|---|---|---|
- Lua
existsNotEmpty = Space.Host.ReferenceExistsAndNotEmpty("obj")
--Print "false" to console if didn't set the object named "obj" to the Object References or attach the reference to "obj".
GetReference
SGameObject GetReference (string name)
Pulls a reference from the scripting runtime component's "References" section by it's name.
| Parameter | Type | Description |
|---|---|---|
| name | string | The name of the reference as set within the Scripting Runtime component (references section). |
- Lua
theObject = Space.Host.GetReference("referenceName")
- Lua
--Clicking this object makes it destroy the object we linked in the references section
thisObject = Space.Host.ExecutingObject
dObject = Space.Host.GetReference("theObjectToBeDestroyed")
function OnClickFunction()
dObject.Destroy()
end
thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)
Evaluate
void Evaluate (string script)
Executes given Lua code/script. (white-label only)
| Parameter | Type | Description |
|---|---|---|
- Lua
Space.Host.Evaluate('Space.Log("test")')
Properties
ExecutingObject
SGameObject ExecutingObject get
A reference to the GameObject that is executing this script. (The GameObject that this Scripting Runtime component is attached to).
- Lua
object = Space.Host.ExecutingObject
Language
string Language get
Returns the English name for the users language, e.g. 'English', 'French', 'Chinese'
- Lua
lang = Space.Host.Language
- Lua
--Makes a UIText show a different message according to the client's language
TextObject = Space.Host.GetReference("TextObject") --add to references section of Scripting Runtime component
language = Space.Host.Language
if language == "English" then
TextObject.UIText.Text = "Welcome!"
elseif language == "Dutch" then
TextObject.UIText.Text = "welkom!"
elseif language == "French" then
TextObject.UIText.Text = "bienvenue!"
else
TextObject.UIText.Text = "Welcome!"
end