m (correction) |
m (Reorganized this as functions vs properties) |
||
Line 1: | Line 1: | ||
The SGameObject class refers a single Game Object active within the scene. | The SGameObject class refers a single Game Object active within the scene. | ||
− | = | + | =Public Member Functions= |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
{{ScriptFunction|SGameObject|Duplicate|();|Copies the object and returns a reference to the copy. Equivalent to calling Instantiate() in Unity|5= local copy = Object.Duplicate();}} | {{ScriptFunction|SGameObject|Duplicate|();|Copies the object and returns a reference to the copy. Equivalent to calling Instantiate() in Unity|5= local copy = Object.Duplicate();}} | ||
{{ScriptFunction|void|Destroy|();|Schedules this object for deletion at the end of the frame|Object.Destroy();}} | {{ScriptFunction|void|Destroy|();|Schedules this object for deletion at the end of the frame|Object.Destroy();}} | ||
− | |||
{{ScriptFunction|SLight|AddLight|()|Adds a Light component to the object.|5= | {{ScriptFunction|SLight|AddLight|()|Adds a Light component to the object.|5= | ||
Line 21: | Line 16: | ||
Space.Log(obj.Light);<br> | Space.Log(obj.Light);<br> | ||
''-- prints "SLight" to the console. Now we can work with the Light component on this object.''}} | ''-- prints "SLight" to the console. Now we can work with the Light component on this object.''}} | ||
+ | |||
{{ScriptFunction|SAudioSource|AddAudioSource|()|Adds an AudioSource component to the object.|5= | {{ScriptFunction|SAudioSource|AddAudioSource|()|Adds an AudioSource component to the object.|5= | ||
Line 30: | Line 26: | ||
Space.Log(obj.Audio);<br> | Space.Log(obj.Audio);<br> | ||
''-- prints "SAudioSource" to the console. Now we can work with the AudioSource component on this object.''}} | ''-- prints "SAudioSource" to the console. Now we can work with the AudioSource component on this object.''}} | ||
+ | |||
{{ScriptFunction|SClickable|AddClickable|()|Adds a Clickable component to the object.|5= | {{ScriptFunction|SClickable|AddClickable|()|Adds a Clickable component to the object.|5= | ||
Line 39: | Line 36: | ||
Space.Log(obj.Clickable);<br> | Space.Log(obj.Clickable);<br> | ||
''-- prints "SClickable" to the console. Now we can work with the Clickable component on this object.''}} | ''-- prints "SClickable" to the console. Now we can work with the Clickable component on this object.''}} | ||
+ | |||
{{ScriptFunction|SRigidbody|AddRigidbody|()|Adds a Rigidbody component to the object.|5= | {{ScriptFunction|SRigidbody|AddRigidbody|()|Adds a Rigidbody component to the object.|5= | ||
Line 48: | Line 46: | ||
Space.Log(obj.Rigidbody);<br> | Space.Log(obj.Rigidbody);<br> | ||
''-- prints "SRigidbody" to the console. Now we can work with the Rigidbody component on this object.''}} | ''-- prints "SRigidbody" to the console. Now we can work with the Rigidbody component on this object.''}} | ||
+ | |||
{{ScriptFunction|SNavMeshAgent|AddNavMeshAgent|()|Adds a NavMeshAgent component to the object.|5= | {{ScriptFunction|SNavMeshAgent|AddNavMeshAgent|()|Adds a NavMeshAgent component to the object.|5= | ||
Line 57: | Line 56: | ||
Space.Log(obj.NavMeshAgent);<br> | Space.Log(obj.NavMeshAgent);<br> | ||
''-- prints "SNavMeshAgent" to the console. Now we can work with the NavMeshAgent component on this object.''}} | ''-- prints "SNavMeshAgent" to the console. Now we can work with the NavMeshAgent component on this object.''}} | ||
+ | |||
{{ScriptFunction|SSeat|AddSeat|()|Adds a Seat component to the object.|5= | {{ScriptFunction|SSeat|AddSeat|()|Adds a Seat component to the object.|5= | ||
Line 67: | Line 67: | ||
''-- prints "SSeat" to the console. Now we can work with the Seat component on this object.''}} | ''-- prints "SSeat" to the console. Now we can work with the Seat component on this object.''}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{ScriptFunction|void|SubscribeToEvents|();|Causes this script to start listening to events on the object. Only use if you need to.|5=<pre>Space.Host.ExecutingObject.SubscribeToEvents()</pre>}} | {{ScriptFunction|void|SubscribeToEvents|();|Causes this script to start listening to events on the object. Only use if you need to.|5=<pre>Space.Host.ExecutingObject.SubscribeToEvents()</pre>}} | ||
Line 213: | Line 120: | ||
Space.Host.ExecutingObject.OnMouseDown(F)</pre>}} | Space.Host.ExecutingObject.OnMouseDown(F)</pre>}} | ||
− | == | + | =Properties= |
+ | |||
+ | {{ScriptFunction|bool|Active|{ get; set; }|Is this object Active in the scene|5= Object.Active = true;}} | ||
+ | |||
+ | {{ScriptFunction|int|Layer|{ get; set; }|Gets/Sets the object onto a particular layer (0-31)|Space.Log("This object is on the layer " .. Object.Layer);}} | ||
+ | |||
+ | {{ScriptFunction|string|Tag|{ get; }|Gets this objects Tag|Space.Log("Object Tag is " .. Object.Tag);}} | ||
+ | |||
+ | {{ScriptFunction|string|Name|{ get; set; }|Gets/sets the name of this object|5= Object.Name = "Hello World!";}} | ||
+ | |||
+ | {{ScriptFunction|bool|Exists|{ get; }|Does this object still exist in the scene (returns false if the object has been deleted via Destroy();)|if(!Object.Exists) return;}} | ||
{{ScriptFunction|SGameObject|Parent|{ get; set; }|Gets/sets the parent GameObject of this object. Assign nil/null to set this as the root.|5= | {{ScriptFunction|SGameObject|Parent|{ get; set; }|Gets/sets the parent GameObject of this object. Assign nil/null to set this as the root.|5= | ||
Line 241: | Line 158: | ||
''-- prints "Cube (2)" to the console''<br>}} | ''-- prints "Cube (2)" to the console''<br>}} | ||
− | + | ||
{{ScriptFunction|SVector|WorldPosition|{ get; set; }|Gets or sets the current position of this object relative to the scene|5=<pre>Space.Host.ExecutingObject.WorldPosition = Vector.New(1,1,1)</pre>}} | {{ScriptFunction|SVector|WorldPosition|{ get; set; }|Gets or sets the current position of this object relative to the scene|5=<pre>Space.Host.ExecutingObject.WorldPosition = Vector.New(1,1,1)</pre>}} | ||
Line 263: | Line 180: | ||
Space.Log(obj.Forward);<br> | Space.Log(obj.Forward);<br> | ||
''-- prints "[1,0,0]" to the console - now it points in the direction the Right directional vector was pointing in.''}} | ''-- prints "[1,0,0]" to the console - now it points in the direction the Right directional vector was pointing in.''}} | ||
+ | |||
+ | |||
{{ScriptFunction|SVector|Up|{ get; }|Returns the up direction vector of this game object (green arrow)|5= | {{ScriptFunction|SVector|Up|{ get; }|Returns the up direction vector of this game object (green arrow)|5= | ||
local obj = Space.Host.ExecutingObject;<br><br> | local obj = Space.Host.ExecutingObject;<br><br> | ||
Line 271: | Line 190: | ||
Space.Log(obj.Up);<br> | Space.Log(obj.Up);<br> | ||
''-- prints "[0,0,1]" to the console - now it points in the direction the Forward directional vector was pointing in.''}} | ''-- prints "[0,0,1]" to the console - now it points in the direction the Forward directional vector was pointing in.''}} | ||
+ | |||
+ | |||
{{ScriptFunction|SVector|Right|{ get; }|Returns the right direction vector of this game object (red arrow)|5= | {{ScriptFunction|SVector|Right|{ get; }|Returns the right direction vector of this game object (red arrow)|5= | ||
local obj = Space.Host.ExecutingObject;<br><br> | local obj = Space.Host.ExecutingObject;<br><br> | ||
Line 279: | Line 200: | ||
Space.Log(obj.Right);<br> | Space.Log(obj.Right);<br> | ||
''-- prints "[0,1,0]" to the console - now it points in the direction the Up directional vector was pointing in.''}} | ''-- prints "[0,1,0]" to the console - now it points in the direction the Up directional vector was pointing in.''}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SLight|Light|{ get; }|Returns a reference to a Light component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- add the Light component to the object if there is none''<br> | ||
+ | if obj.Light == null then<br> | ||
+ | :obj.AddLight ();<br> | ||
+ | end<br><br> | ||
+ | ''-- Now we can work with the Light component on this object.''<br> | ||
+ | ''-- For example, let's set its colour to Red:''<br> | ||
+ | obj.Light.Color = Vector.New(1,0,0);}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SAnimator|Animator|{ get; }|Returns a reference to a Animator component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | Space.Log(obj.Animator);<br> | ||
+ | ''-- prints "SAnimator" to the console if there is an Animator component on this object, or an empty string, if there is none.''}} | ||
+ | |||
+ | {{ScriptFunction|SAudioSource|Audio|{ get; }|Returns a reference to a AudioSource component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- add the AudioSource component to the object if there is none''<br> | ||
+ | if obj.Audio == null then<br> | ||
+ | :obj.AddAudioSource();<br> | ||
+ | end<br><br> | ||
+ | Space.Log(obj.Audio);<br> | ||
+ | ''-- Now we can work with the AudioSource component on this object.''<br> | ||
+ | ''-- For example, let's set its volume to 0.25:''<br> | ||
+ | obj.Audio.Volume = 0.25;}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SBrowserSurface|Browser|{ get; }|Returns a reference to a BrowserSurface component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- If this object has a BrowserSurface component, the script will reload the page in it''<br> | ||
+ | if obj.Browser ~= null then<br> | ||
+ | :obj.Browser.Reload ();<br> | ||
+ | end}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SRenderer|Renderer|{ get; }|Returns a reference to a Renderer component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- If this object has a Renderer component, let's colour its material blue!''<br> | ||
+ | if obj.Renderer ~= null then<br> | ||
+ | :obj.Renderer.Material.SetColor("_Color", 0, 0, 1, 1);<br> | ||
+ | end}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SClickable|Clickable|{ get; }|Returns a reference to a Clickable component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- add the Clickable component to the object if there is none''<br> | ||
+ | if obj.Clickable == null then<br> | ||
+ | :obj.AddClickable();<br> | ||
+ | end<br><br> | ||
+ | Space.Log(obj.Clickable);<br> | ||
+ | ''--Now we can work with the Clickable component on this object.''<br> | ||
+ | ''-- Let's add an option for the object to be moved up by 1 every time that option is chosen:''<br> | ||
+ | local deltaPos = Vector.New(0,1,0);<br><br> | ||
+ | function MoveItUp () | ||
+ | :obj.WorldPosition = obj.WorldPosition + deltaPos;<br> | ||
+ | end<br> | ||
+ | obj.Clickable.AddExtraAction ("Move up", "Moves the object up by 1.", MoveItUp);}} | ||
+ | |||
+ | {{ScriptFunction|SRigidbody|Rigidbody|{ get; }|Returns a reference to a Rigidbody component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- add the Rigidbody component to the object if there is none''<br> | ||
+ | if obj.Rigidbody == null then<br> | ||
+ | :obj.AddRigidbody();<br> | ||
+ | end<br><br> | ||
+ | Space.Log(obj.Rigidbody);<br> | ||
+ | ''-- Now we can work with the Rigidbody component on this object.''<br> | ||
+ | ''-- Let's make it spin!''<br> | ||
+ | obj.Rigidbody.UseGravity = false;<br> | ||
+ | obj.Rigidbody.AngularDrag = 0;<br> | ||
+ | obj.Rigidbody.AngularVelocity = Vector.New(0,Space.Math.Pi/2,0);}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SCollider|Collider|{ get; }|Returns a reference to a Collider component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br> | ||
+ | ''-- If this object has a Collider component, let's make it a trigger:''<br> | ||
+ | if obj.Collider ~= null then | ||
+ | :obj.Collider.IsTrigger = true; | ||
+ | end}} | ||
+ | |||
+ | {{ScriptFunction|SUIText|UIText|{ get; }|Returns a reference to a UI.Text component on the object. Will return null if it does not exist.|5=<pre>uitext = Space.Host.ExecutingObject.UIText </pre>}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SNavMeshAgent|NavMeshAgent|{ get; }|Returns a reference to a NavMeshAgent component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- add the NavMeshAgent component to the object if there is none''<br> | ||
+ | if obj.NavMeshAgent == null then<br> | ||
+ | :obj.AddNavMeshAgent();<br> | ||
+ | end<br><br> | ||
+ | Space.Log(obj.NavMeshAgent);<br> | ||
+ | ''-- prints "SNavMeshAgent" to the console. Now we can work with the NavMeshAgent component on this object.''}} | ||
+ | |||
+ | |||
+ | {{ScriptFunction|SSeat|Seat|{ get; }|Returns a reference to a Seat component on the object. Will return null if it does not exist.|5= | ||
+ | local obj = Space.Host.ExecutingObject;<br><br> | ||
+ | ''-- add the Seat component to the object if there is none''<br> | ||
+ | if obj.Seat == null then<br> | ||
+ | :obj.AddSeat();<br> | ||
+ | end<br><br> | ||
+ | Space.Log(obj.Seat);<br> | ||
+ | ''-- prints "SSeat" to the console. Now we can work with the Seat component on this object.''}} | ||
+ | |||
{{Scripting Navbox}} | {{Scripting Navbox}} |
The SGameObject class refers a single Game Object active within the scene.
Copies the object and returns a reference to the copy. Equivalent to calling Instantiate() in Unity
Schedules this object for deletion at the end of the frame
Adds a Light component to the object.
-- add the Light component to the object if there is none
if obj.Light == null then
end
Space.Log(obj.Light);
Adds an AudioSource component to the object.
-- add the AudioSource component to the object if there is none
if obj.Audio == null then
end
Space.Log(obj.Audio);
Adds a Clickable component to the object.
-- add the Clickable component to the object if there is none
if obj.Clickable == null then
end
Space.Log(obj.Clickable);
Adds a Rigidbody component to the object.
-- add the Rigidbody component to the object if there is none
if obj.Rigidbody == null then
end
Space.Log(obj.Rigidbody);
Adds a NavMeshAgent component to the object.
-- add the NavMeshAgent component to the object if there is none
if obj.NavMeshAgent == null then
end
Space.Log(obj.NavMeshAgent);
Adds a Seat component to the object.
-- add the Seat component to the object if there is none
if obj.Seat == null then
end
Space.Log(obj.Seat);
Causes this script to start listening to events on the object. Only use if you need to.
Space.Host.ExecutingObject.SubscribeToEvents()
Binds a event to the Awake() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnAwake(F)
Binds a event to the Start() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnStart(F)
Binds a event to the OnEnable() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnEnable(F)
Binds a event to the OnDisable() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnDisable(F)
Binds a event to the OnFixedUpdate() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnFixedUpdate(F)
Binds a event to the OnLateUpdate() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnLateUpdate(F)
Binds a event to the OnUpdate() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnUpdate(F)
Binds a event to the OnMouseDown() event. Requires SubscribeToEvents be called first.
function F() Space.Log("bound") end Space.Host.ExecutingObject.SubscribeToEvents() Space.Host.ExecutingObject.OnMouseDown(F)
Is this object Active in the scene
Gets/Sets the object onto a particular layer (0-31)
Gets this objects Tag
Gets/sets the name of this object
Does this object still exist in the scene (returns false if the object has been deleted via Destroy();)
Gets/sets the parent GameObject of this object. Assign nil/null to set this as the root.
-- This Scripting Runtime is the component of the "Cube" object.
-- 1 Object Reference is used: Name: Cube1, references "Cube (1)".
local obj = Space.Host.ExecutingObject;
obj.Parent = Space.Host.GetReference("Cube1");
Gets the root of this object group - may be this object.
-- "Cube" is the parent of "Cube (1)", "Cube (1)" is the parent of "Cube (2)"
-- This Scripting Runtime is the component of the "Cube (2)" object.
local obj = Space.Host.ExecutingObject;
Space.Log(obj.Root.Name);
Returns the list of direct children of this object.
-- "Cube" is the parent of both "Cube (1)" and "Cube (2)" (in this order in the hierarchy).
-- This Scripting Runtime is the component of the "Cube" object.
local obj = Space.Host.ExecutingObject;
Space.Log(obj.Children[1].Name);
-- prints "Cube (1)" to the console
Space.Log(obj.Children[2].Name);
Gets or sets the current position of this object relative to the scene
Space.Host.ExecutingObject.WorldPosition = Vector.New(1,1,1)
Gets or sets the current position of this object relative to the objects parent, taking into account local position/scale/rotation
Space.Host.ExecutingObject.LocalPosition = Vector.New(1,1,1)
Gets or sets the current rotation of this object relative to the scene
Space.Host.ExecutingObject.WorldRotation = Quaternion.Euler(0,180,0)
Gets or sets the current rotation of this object relative to the parent object
Space.Host.ExecutingObject.LocalRotation = Quaternion.Euler(0,180,0)
Gets or sets the current scale of this object relative to the parent
Space.Host.ExecutingObject.LocalScale = Vector.New(2,2,2)
Gets the current scale of this object relative to the scene
worldScale = Space.Host.ExecutingObject.WorldScale
Returns the forward direction vector of this game object (blue arrow)
obj.WorldRotation = Quaternion.Euler(0,0,0);
Space.Log(obj.Forward);
-- prints "[0,0,1]" to the console
obj.WorldRotation = Quaternion.Euler(0,90,0);
Space.Log(obj.Forward);
Returns the up direction vector of this game object (green arrow)
obj.WorldRotation = Quaternion.Euler(0,0,0);
Space.Log(obj.Up);
-- prints "[0,1,0]" to the console
obj.WorldRotation = Quaternion.Euler(90,0,0);
Space.Log(obj.Up);
Returns the right direction vector of this game object (red arrow)
obj.WorldRotation = Quaternion.Euler(0,0,0);
Space.Log(obj.Right);
-- prints "[1,0,0]" to the console
obj.WorldRotation = Quaternion.Euler(0,0,90);
Space.Log(obj.Right);
Returns a reference to a Light component on the object. Will return null if it does not exist.
-- add the Light component to the object if there is none
if obj.Light == null then
end
-- Now we can work with the Light component on this object.
-- For example, let's set its colour to Red:
Returns a reference to a Animator component on the object. Will return null if it does not exist.
Space.Log(obj.Animator);
Returns a reference to a AudioSource component on the object. Will return null if it does not exist.
-- add the AudioSource component to the object if there is none
if obj.Audio == null then
end
Space.Log(obj.Audio);
-- Now we can work with the AudioSource component on this object.
-- For example, let's set its volume to 0.25:
Returns a reference to a BrowserSurface component on the object. Will return null if it does not exist.
-- If this object has a BrowserSurface component, the script will reload the page in it
if obj.Browser ~= null then
Returns a reference to a Renderer component on the object. Will return null if it does not exist.
-- If this object has a Renderer component, let's colour its material blue!
if obj.Renderer ~= null then
Returns a reference to a Clickable component on the object. Will return null if it does not exist.
-- add the Clickable component to the object if there is none
if obj.Clickable == null then
end
Space.Log(obj.Clickable);
--Now we can work with the Clickable component on this object.
-- Let's add an option for the object to be moved up by 1 every time that option is chosen:
local deltaPos = Vector.New(0,1,0);
function MoveItUp ()
end
Returns a reference to a Rigidbody component on the object. Will return null if it does not exist.
-- add the Rigidbody component to the object if there is none
if obj.Rigidbody == null then
end
Space.Log(obj.Rigidbody);
-- Now we can work with the Rigidbody component on this object.
-- Let's make it spin!
obj.Rigidbody.UseGravity = false;
obj.Rigidbody.AngularDrag = 0;
Returns a reference to a Collider component on the object. Will return null if it does not exist.
-- If this object has a Collider component, let's make it a trigger:
if obj.Collider ~= null then
Returns a reference to a UI.Text component on the object. Will return null if it does not exist.
uitext = Space.Host.ExecutingObject.UIText
Returns a reference to a NavMeshAgent component on the object. Will return null if it does not exist.
-- add the NavMeshAgent component to the object if there is none
if obj.NavMeshAgent == null then
end
Space.Log(obj.NavMeshAgent);
Returns a reference to a Seat component on the object. Will return null if it does not exist.
-- add the Seat component to the object if there is none
if obj.Seat == null then
end
Space.Log(obj.Seat);
|