wiki.sine.space | sinespace

Difference between revisions of "Scripting/SUIText"

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/suitext")
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
The SUIText class provides tools to work with the SUIText component, which is a component responsible for displaying text
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/suitext
 
+
==Properties==
+
 
+
{{ScriptFunction|bool|AlignByGeometry|{get;set;}|Use the range of glyph geometry to perform horizontal alignment. |5=
+
<pre>
+
thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the SUIText component in our object
+
 
+
Space.Log(thisObjectText.AlignByGeometry)
+
--This will return "true" or "false"  to your debugger console
+
--telling you if the Align By Geometry feature is on or not (false by default)
+
 
+
thisObjectText.AlignByGeometry = true
+
--This enables the Align By Geometry feature
+
 
+
thisObjectText.AlignByGeometry = false
+
--This disables the Align By Geometry feature
+
</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|SColor|Color|{get;set;}|Base color of the Graphic.|5=
+
<pre>
+
--This script dynamically changes the text's color of a GameObject with UIText component.
+
--For example in a text sign over your shop that you want to make more visually stand out
+
--or perhaps text decoration during a celebration or a text element in your User Interface or HUD.
+
 
+
thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the SUIText component in our object
+
colors = {Color.Red, Color.Black, Color.White, Color.Blue, Color.Green, Color.Yellow}
+
--here we are holding 6 predefined colors in a Lua Table which we will go through
+
 
+
 
+
function ColorChanger()
+
 
+
    while true do
+
    --infinite loop
+
   
+
        for i=1,#colors do
+
        --For Loop to cycle through all the table items
+
        thisObjectText.color = colors[i]
+
        --this will set the color based on which item in the table we are now at
+
        coroutine.yield(0.1)
+
        --this will pause for a tenth of a second before we change to the next color
+
        end
+
 
+
    end
+
end
+
 
+
 
+
Space.Host.StartCoroutine(ColorChanger)
+
--this coroutine will now call our ColorChanger() function which is infinitely changing our text colors between a select range. </pre>
+
 
+
 
+
 
+
}}
+
 
+
{{ScriptFunction|bool|Enabled|{get;set;}| Whether the UIText component is Enabled or not will decide if it is visually updating or not.|5= <pre> Space.Host.ExecutingObject.Enabled = true</pre>|6=<pre>
+
--this below script will make clicking this object disable/enable a UIText component
+
 
+
thisGameObject = Space.Host.ExecutingObject
+
 
+
text = Space.Host.GetReference("text").UIText
+
+
OnClick = function()
+
 
+
  if text.Enabled then
+
    text.Enabled = false
+
  else
+
    text.Enabled = true
+
  end
+
 
+
end
+
 
+
thisGameObject.AddClickable()
+
thisGameObject.Clickable.Tooltip = "click to hide/show text"
+
thisGameObject.Clickable.OnClick(OnClick)</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|float|FlexibleHeight|{get;}| The extra relative height this UIText  should be allocated if there is additional available space. (Used by the Layout system.) |5=
+
<pre> FlexibleHeight = Space.Host.ExecutingObject.UIText.FlexibleHeight</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|float|FlexibleWidth|{get;}|The extra relative width this UIText should be allocated if there is additional available space. (Used by the Layout system) |5=
+
<pre>FlexibleWidth = Space.Host.ExecutingObject.UIText.FlexibleWidth </pre>
+
 
+
}}
+
 
+
{{ScriptFunction|int|FontSize|{get;set;}|The size that the Font should render at.|5=
+
<pre>Space.Host.ExecutingObject.UIText.FontSize = 54</pre>}}
+
 
+
{{ScriptFunction|int|LayoutPriority|{get;}|The layout priority of this UIText component.(Used by the Layout system.)|5=
+
<pre>thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the UIText component in our object
+
 
+
Space.Log(thisObjectText.LayoutPriority)
+
--Prints the LayoutPriority value of this UIText component to the console</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|float|LineSpacing|{get;set;}|How much space will be in-between lines of text. This is a multiplier. The line spacing value set will be multiplied by the font's internal line spacing. A value of 1 will produce normal line spacing.|5=
+
<pre>thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the UIText component in our object
+
+
Space.Log(thisObjectText.LineSpacing)
+
  --Prints the LineSpacing value of this UIText component to the console
+
 
+
thisObjectText.LineSpacing = 2
+
  --This sets the LineSpacing value of this UIText component to 2.</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|float|MinHeight|{get;}|The minimum height this UIText may be allocated.(Used by the Layout system).|5=
+
<pre>thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the UIText component in our object
+
+
Space.Log(thisObjectText.MinHeight)
+
--Prints the MinHeight value of this UIText component to the console</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|float|MinWidth|{get;}|The minimum width this UIText may be allocated. (Used by the Layout system). |5=
+
<pre>thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the UIText component in our object
+
+
Space.Log(thisObjectText.MinWidth)
+
--Prints the MinWidth value of this UIText component to the console
+
</pre>
+
}}
+
 
+
{{ScriptFunction|float|PixelsPerUnit|{get;}|Provides information about how fonts are scale to the screen.
+
 
+
For dynamic fonts, the value is equivalent to the scale factor of the canvas. For non-dynamic fonts, the value is calculated from the requested text size and the size from the font.|5=
+
<pre>
+
thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the UIText component in our object
+
 
+
Space.Log(thisObjectText.PixelsPerUnit)
+
--Prints the PixelsPerUnit value of this UIText component to the console</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|float|PreferredHeight|{get;}|The preferred height this UIText should be allocated if there is sufficient space. (Used by the Layout system)|5=
+
<pre>thisObject = Space.Host.ExecutingObject
+
--get a reference to our object
+
thisObjectText = thisObject.UIText
+
--get a reference to the UIText component in our object
+
+
Space.Log(thisObjectText.PreferredHeight)
+
  --Prints the PreferredHeight value of this UIText component to the console</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|float|PreferredWidth|{get;}|The preferred width this UIText should be allocated if there is sufficient space.  (Used by the Layout system)|5=
+
<pre>thisObject = Space.Host.ExecutingObject
+
thisObjectText = thisObject.UIText
+
+
Space.Log(thisObjectText.PreferredWidth)</pre>
+
}}
+
 
+
{{ScriptFunction|bool|ResizeTextForBestFit|{get;set;}|Should the text be allowed to auto resized. |5=
+
<pre> Space.Host.ExecutingObject.UIText.ResizeTextForBestFit = false </pre>
+
 
+
}}
+
 
+
{{ScriptFunction|int|ResizeTextMaxSize|{get;set;}|The maximum size the text is allowed to be. 1 is infinitely large.|5=
+
<pre> Space.Host.ExecutingObject.UIText.ResizeTextMaxSize = 150</pre>
+
 
+
}}
+
 
+
{{ScriptFunction|int|ResizeTextMinSize|{get;set;}|The minimum size the text is allowed to be.
+
|5=
+
<pre>Space.Host.ExecutingObject.UIText.ResizeTextMinSize = 20</pre>
+
}}
+
 
+
{{ScriptFunction|bool|SupportRichText|{get;set;}| Whether this Text will support rich text. |5=
+
<pre> Space.Host.ExecutingObject.UIText.SupportRichText = true </pre>|6=<pre>--the below script will make a toggles Rich Text support in the UIText
+
--[Add "toggle" and "text" references to the Scripting Runtime component]
+
 
+
thisGameObject = Space.Host.ExecutingObject
+
 
+
toggle = Space.Host.GetReference("toggle").UIToggle
+
text = Space.Host.GetReference("text").UIText
+
text.Text = "<b> Bold Test </b>"
+
OVC = function()
+
  if toggle.IsOn then
+
    text.SupportRichText = true
+
  else
+
    text.SupportRichText = false
+
  end
+
end
+
 
+
toggle.OnValueChanged(OVC)</pre>
+
}}
+
 
+
{{ScriptFunction|string|Text|{get;set;}|The string value this Text displays.|5=
+
<pre> Space.Host.ExecutingObject.UIText.Text = "Hello World!" </pre>|6=<pre>
+
--the below script will make a UIText element with this script
+
--constantly update itself to show the local time
+
--(Example: UI Text element that shows local clock)
+
--[This object needs to be a UI Text object. In Unity, Heirarchy -> Create -> UI -> Text]
+
--<Note: UI Text element could also be in world space if it's canvas is a world space canvas>
+
 
+
thisGameObject = Space.Host.ExecutingObject
+
 
+
OnUpdate = function()
+
thisGameObject.UIText.Text = Space.LocalTime
+
end
+
 
+
thisGameObject.SubscribeToEvents()
+
thisGameObject.OnUpdate(OnUpdate)</pre>
+
}}
+
 
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 06:46, 19 September 2022

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