|
|
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>Space.Host.ExecutingObject.UIText.AlignByGeometry = true</pre>|6=<pre>--the below script will make a UIToggle disable/enable the Align By Geometry feature 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 = "Align By Geometry"
| + | |
− | OVC = function()
| + | |
− | if toggle.IsOn then
| + | |
− | text.AlignByGeometry = true
| + | |
− | else
| + | |
− | text.AlignByGeometry = false
| + | |
− | end
| + | |
− | end
| + | |
− | | + | |
− | toggle.OnValueChanged(OVC)</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>|6=<pre>--the below script will make a slider change the UIText's Font Size
| + | |
− | --[Add "slider" and "text" references to the Scripting Runtime component]
| + | |
− | | + | |
− | thisGameObject = Space.Host.ExecutingObject
| + | |
− | | + | |
− | slider = Space.Host.GetReference("slider").UISlider
| + | |
− | text = Space.Host.GetReference("text").UIText
| + | |
− | text.Text = "Text Size Test"
| + | |
− | | + | |
− | OVC = function()
| + | |
− | text.FontSize = (slider.Value * 40) + 10 -- from 10 to 50
| + | |
− | end
| + | |
− | | + | |
− | slider.OnValueChanged(OVC)</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.UIText.LineSpacing = 2</pre> |6= <pre>--the below script will make a slider change the UIText's Line Spacing
| + | |
− | --[Add "slider" and "text" references to the Scripting Runtime component]
| + | |
− | | + | |
− | thisGameObject = Space.Host.ExecutingObject
| + | |
− | | + | |
− | slider = Space.Host.GetReference("slider").UISlider
| + | |
− | text = Space.Host.GetReference("text").UIText
| + | |
− | text.Text = "Line Spacing Line Spacing Line Spacing Line Spacing Line Spacing"
| + | |
− | | + | |
− | OVC = function()
| + | |
− | text.LineSpacing = (slider.Value * 2) -- from 0 to 2
| + | |
− | end
| + | |
− | | + | |
− | slider.OnValueChanged(OVC) </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>|6=<pre>--the below script will make a UIToggle disable/enable the Best Fit feature 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 = "A very long text a very long text a very long text a very long text"
| + | |
− | OVC = function()
| + | |
− | if toggle.IsOn then
| + | |
− | text.ResizeTextForBestFit = true
| + | |
− | else
| + | |
− | text.ResizeTextForBestFit = false
| + | |
− | end
| + | |
− | end
| + | |
− | | + | |
− | toggle.OnValueChanged(OVC)</pre>
| + | |
− | | + | |
− | }}
| + | |
− | | + | |
− | {{ScriptFunction|int|ResizeTextMaxSize|{get;set;}|The maximum size the text is allowed to be.|5=<pre> Space.Host.ExecutingObject.UIText.ResizeTextMaxSize = 150</pre>|6=<pre>--the below script will make a slider change the UIText's Best Fit Max Size
| + | |
− | --[Add "slider" and "text" references to the Scripting Runtime component]
| + | |
− | | + | |
− | thisGameObject = Space.Host.ExecutingObject
| + | |
− | | + | |
− | slider = Space.Host.GetReference("slider").UISlider
| + | |
− | text = Space.Host.GetReference("text").UIText
| + | |
− | text.Text = "Best Fit Max Size"
| + | |
− | text.ResizeTextForBestFit = true
| + | |
− | | + | |
− | OVC = function()
| + | |
− | text.ResizeTextMaxSize = (slider.Value * 50) + 20 -- from 50 to 70
| + | |
− | end
| + | |
− | | + | |
− | slider.OnValueChanged(OVC) </pre>}}
| + | |
− | | + | |
− | {{ScriptFunction|int|ResizeTextMinSize|{get;set;}|The minimum size the text is allowed to be.
| + | |
− | |5=<pre>Space.Host.ExecutingObject.UIText.ResizeTextMinSize = 20</pre>|6=<pre>--the below script will make a slider change the UIText's Best Fit Min Size
| + | |
− | --[Add "slider" and "text" references to the Scripting Runtime component]
| + | |
− | | + | |
− | thisGameObject = Space.Host.ExecutingObject
| + | |
− | | + | |
− | slider = Space.Host.GetReference("slider").UISlider
| + | |
− | text = Space.Host.GetReference("text").UIText
| + | |
− | text.Text = "Best Fit Min Size"
| + | |
− | text.ResizeTextForBestFit = true
| + | |
− | | + | |
− | OVC = function()
| + | |
− | text.ResizeTextMinSize = (slider.Value * 20) + 10 -- from 10 to 30
| + | |
− | end
| + | |
− | | + | |
− | slider.OnValueChanged(OVC) </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 UIToggle disable/enable 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}}
| + | |