跳到主要内容

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)
void StartCoroutine (string value, DynValue parameter=default(DynValue)

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.

ParameterTypeDescription
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.

Space.Host.Stop()
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.

ParameterTypeDescription
Space.Host.InvokeDelayed(AFunction, 10)
--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.

ParameterTypeDescription
Space.Host.StartCoroutine(aFunction)
--or
Space.Host.StartCoroutine("aFunctionName")
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.

ParameterTypeDescription
referenceExists = Space.Host.ReferenceExists("the reference name")

ReferenceExistsAndNotEmpty​

bool ReferenceExistsAndNotEmpty (string name)

Return true when the reference object exists and is not empty.

ParameterTypeDescription
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.

ParameterTypeDescription
namestringThe name of the reference as set within the Scripting Runtime component (references section).
theObject = Space.Host.GetReference("referenceName")
--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)

ParameterTypeDescription
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).

object = Space.Host.ExecutingObject

Language​

string Language get

Returns the English name for the users language, e.g. 'English', 'French', 'Chinese'

lang = Space.Host.Language
--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