wiki.sine.space | sinespace

Difference between revisions of "Scripting/SLight"

From wiki.sine.space
Jump to: navigation, search
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/slight")
 
Line 1: Line 1:
Light sources within the Space scene.
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/slight
 
+
=Properties=
+
{{ScriptFunction|bool|Enabled|{ get; set;}|Enable/Disable this light.|5=-- Disable this object's Light Source --<br>Space.Host.ExecutingObject.Light.Enabled = false;|6=<pre>--the below script will make the object Enable/Disable it's Light component
+
--[Add "light" reference to the Scripting Runtime component]
+
 
+
thisGameObject = Space.Host.ExecutingObject
+
light = Space.Host.GetReference("light").Light
+
 
+
 
+
OnClick = function()
+
light.Enabled =  not light.Enabled
+
end
+
 
+
 
+
thisGameObject.AddClickable()
+
thisGameObject.Clickable.OnClick(OnClick)</pre>}}
+
 
+
{{ScriptFunction|float|Range|{ get; set;}|Get/Set the effective range of the light source.|5=-- Change the range of the Light --<br>Space.Host.ExecutingObject.Light.Range = 8.0;|6=<pre>--the below script will make a slider set the Light's range
+
--[Add "slider" and "light" references to the Scripting Runtime component]
+
 
+
light = Space.Host.GetReference("light").Light
+
slider = Space.Host.GetReference("slider").UISlider
+
 
+
OVC = function()
+
light.Range = (slider.Value * 100) --(from 0 to 100)
+
end
+
 
+
slider.OnValueChanged(OVC) </pre>}}
+
 
+
{{ScriptFunction|float|SpotAngle|{ get; set;}|The angle of the light's spotlight cone in degrees.|5=light=Space.Host.ExecutingObject.AddLight();<br>
+
light.Type=2;<br>
+
light.SpotAngle=60;
+
''--set spot angle to 60 degree.''|6=<pre>--the below script will make a slider set the Light's Spot Angle
+
--[Add "slider" and "light" references to the Scripting Runtime component]
+
 
+
light = Space.Host.GetReference("light").Light
+
slider = Space.Host.GetReference("slider").UISlider
+
 
+
light.Type = 2 --it has to be Spot type
+
 
+
OVC = function()
+
light.SpotAngle = (slider.Value * 178) + 1 --(from 1 to 179)
+
end
+
 
+
slider.OnValueChanged(OVC)</pre>}}
+
 
+
{{ScriptFunction|float|Intensity|{ get; set;}|Get/Set the intensity of the light source. The Intensity of a light is multiplied with the Light color. The value can be between 0 and 8.|5=-- Get the intensity of the Light --<br>Space.Log("Intensity: " .. Space.Host.ExecutingObject.Light.Intensity);|6=<pre>--the below script will make a slider set the Light's Intensity
+
--[Add "slider" and "light" references to the Scripting Runtime component]
+
 
+
light = Space.Host.GetReference("light").Light
+
slider = Space.Host.GetReference("slider").UISlider
+
 
+
 
+
 
+
OVC = function()
+
light.Intensity = (slider.Value * 8) --(from 0 to 8)
+
end
+
 
+
slider.OnValueChanged(OVC) </pre>}}
+
 
+
{{ScriptFunction|SVector|Color|{ get; set;}|Get/Set the color of the light.|5=
+
local obj = Space.Host.ExecutingObject;<br><br>
+
Space.Log(obj.Light.Color);<br>
+
''-- prints "[1,1,1]" (white) to the console.''<br>
+
local newColor = Vector.New(0.5,0.5,0); ''-- yellow color''<br>
+
obj.Light.Color = newColor;<br>
+
''-- Now the color of the light is yellow.''|6=<pre>--clicking the object will open a color picker that changes Light's color
+
----[Add "light" reference to the Scripting Runtime component]
+
 
+
thisGameObject = Space.Host.ExecutingObject
+
light = Space.Host.GetReference("light").Light
+
 
+
OnChange = function(SColor)
+
light.Color = SColor
+
end
+
 
+
OnSelect = function(SColor)
+
light.Color = SColor
+
end
+
 
+
OnCancel = function()
+
end
+
 
+
OnClick = function()
+
Space.Dialogues.ColorPicker("Pick a color","Ok", OnChange, OnSelect, OnCancel, Color.Red)
+
end
+
 
+
 
+
thisGameObject.AddClickable()
+
thisGameObject.Clickable.OnClick(OnClick)</pre>}}
+
 
+
{{ScriptFunction|SLightType|Type|{ get; set;}|4= Get/Set the type of light this source is. 0 = Directional, 1 = Point, 2 = Spot, 3 = Area.|5=
+
local obj = Space.Host.ExecutingObject;<br><br>
+
Space.Log(obj.Light.Type);<br>
+
''-- prints "1" (default) to the console.''<br>
+
obj.Light.Type = 0;<br>
+
''-- Now the light type has changed to Directional.''|6=<pre>--Clicking the object toggles between the 4 different light types
+
--[Add "light" reference to the Scripting Runtime component]
+
 
+
thisGameObject = Space.Host.ExecutingObject
+
light = Space.Host.GetReference("light").Light
+
 
+
OnClick = function()
+
 
+
  if light.Type == 3 then
+
    light.Type = 0
+
  else light.Type = light.Type + 1
+
  end
+
 
+
end
+
 
+
thisGameObject.AddClickable()
+
thisGameObject.Clickable.OnClick(OnClick)</pre>}}
+
 
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 06:02, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/slight