SUIText
Index
Properties Index
bool SupportRichText get
set
bool ResizeTextForBestFit get
set
int ResizeTextMinSize get
set
int ResizeTextMaxSize get
set
bool AlignByGeometry get
set
int FontSize get
set
float LineSpacing get
set
float PixelsPerUnit get
float MinWidth get
float PreferredWidth get
float FlexibleWidth get
float MinHeight get
float PreferredHeight get
float FlexibleHeight get
int LayoutPriority get
bool Enabled get
set
string Text get
set
SColor Color get
set
SGameObject GameObject get
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