SUIText

Index

Properties Index

Property Name

Properties

SupportRichText

bool SupportRichText get set

Whether this Text will support rich text.

 Space.Host.ExecutingObject.UIText.SupportRichText = true 
--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)

ResizeTextForBestFit

bool ResizeTextForBestFit get set

Should the text be allowed to auto resized.

 Space.Host.ExecutingObject.UIText.ResizeTextForBestFit = false 
--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)

ResizeTextMinSize

int ResizeTextMinSize get set

The minimum size the text is allowed to be.

Space.Host.ExecutingObject.UIText.ResizeTextMinSize = 20
--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) 

ResizeTextMaxSize

int ResizeTextMaxSize get set

The maximum size the text is allowed to be.

 Space.Host.ExecutingObject.UIText.ResizeTextMaxSize = 150
--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) 

AlignByGeometry

bool AlignByGeometry get set

Use the range of glyph geometry to perform horizontal alignment.

Space.Host.ExecutingObject.UIText.AlignByGeometry = true
--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)

FontSize

int FontSize get set

The size that the Font should render at.

Space.Host.ExecutingObject.UIText.FontSize = 54
--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)

LineSpacing

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.

thisObject = Space.Host.ExecutingObject.UIText.LineSpacing = 2
--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) 

PixelsPerUnit

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.

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

MinWidth

float MinWidth get

The minimum width this UIText may be allocated. (Used by the Layout system).

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

PreferredWidth

float PreferredWidth get

The preferred width this UIText should be allocated if there is sufficient space. (Used by the Layout system)

pWidth = Space.Host.ExecutingObject.UIText.PreferredWidth

FlexibleWidth

float FlexibleWidth get

The extra relative width this UIText should be allocated if there is additional available space. (Used by the Layout system)

FlexibleWidth = Space.Host.ExecutingObject.UIText.FlexibleWidth 

MinHeight

float MinHeight get

The minimum height this UIText may be allocated.(Used by the Layout system).

minHeight = Space.Host.ExecutingObject.UIText.MinHeight

PreferredHeight

float PreferredHeight get

The preferred height this UIText should be allocated if there is sufficient space. (Used by the Layout system)

pHeight = Space.Host.ExecutingObject.UIText.PreferredHeight

FlexibleHeight

float FlexibleHeight get

The extra relative height this UIText should be allocated if there is additional available space. (Used by the Layout system.)

FlexibleHeight = Space.Host.ExecutingObject.UIText.FlexibleHeight

LayoutPriority

int LayoutPriority get

The layout priority of this UIText component.(Used by the Layout system.)

layoutPriority = Space.Host.ExecutingObject.UIText.LayoutPriority

Enabled

bool Enabled get set

Whether the UIText component is Enabled or not will decide if it is visually updating or not.

 Space.Host.ExecutingObject.UIText.Enabled = true
--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)

Text

string Text get set

The string value this Text displays.

 Space.Host.ExecutingObject.UIText.Text = "Hello World!" 
--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)

Color

SColor Color get set

Base color of the Graphic.

Space.Host.ExecutingObject.UIText.Color = Color.Red
--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. 

GameObject

SGameObject GameObject get

Property Description

theGameObject = Space.Host.ExecutingObject.UIText.Text

Last updated

Sinespace® is a registered trademark of Sine Wave Entertainment Ltd, All Rights Reserved.