C# Class UILabel, TheUnseen

Inheritance: UIWidget
Show file Open project: henryj41043/TheUnseen Class Usage Examples

Public Properties

Property Type Description
keepCrispWhenShrunk Crispness

Private Properties

Property Type Description
GetCharacterIndex int
GetCharacterIndex int
OnFontTextureChanged void

Public Methods

Method Description
ApplyShadow ( BetterList verts, BetterList uvs, BetterList cols, int start, int end, float x, float y ) : void

Apply a shadow effect to the buffer.

AssumeNaturalSize ( ) : void

Make the label assume its natural size.

CalculateOffsetToFit ( string text ) : int

Calculate the character index offset necessary in order to print the end of the specified text.

GetCharacterIndex ( int currentIndex, KeyCode, key ) : int

Get the index of the character on the line directly above or below the current index.

GetCharacterIndexAtPosition ( Vector2 localPos ) : int

Return the index of the character at the specified local position.

GetCharacterIndexAtPosition ( Vector3 worldPos ) : int

Return the index of the character at the specified world position.

GetSides ( Transform relativeTo ) : Vector3[]

Get the sides of the rectangle relative to the specified transform. The order is left, top, right, bottom.

GetUrlAtCharacterIndex ( int characterIndex ) : string

Retrieve the URL right under the specified character index.

GetUrlAtPosition ( Vector2 localPos ) : string

Retrieve the URL directly below the specified relative-to-label position.

GetUrlAtPosition ( Vector3 worldPos ) : string

Retrieve the URL directly below the specified world-space position.

GetWordAtCharacterIndex ( int characterIndex ) : string

Retrieve the word right under the specified character index.

GetWordAtPosition ( Vector2 localPos ) : string

Retrieve the word directly below the specified relative-to-label position.

GetWordAtPosition ( Vector3 worldPos ) : string

Retrieve the word directly below the specified world-space position.

MakePixelPerfect ( ) : void

Text is pixel-perfect when its scale matches the size.

MarkAsChanged ( ) : void

UILabel needs additional processing when something changes.

OnFill ( BetterList verts, BetterList uvs, BetterList cols ) : void

Draw the label.

PrintOverlay ( int start, int end, UIGeometry, caret, UIGeometry, highlight, Color caretColor, Color highlightColor ) : void

Fill the specified geometry buffer with vertices that would highlight the current selection.

ProcessAndRequest ( ) : void

Request the needed characters in the texture.

ProcessText ( ) : void

Process the raw text, called when something changes.

ProcessText ( bool legacyMode ) : void

Process the raw text, called when something changes.

SetCurrentPercent ( ) : void

Convenience function, in case you wanted to associate progress bar, slider or scroll bar's OnValueChanged function in inspector with a label.

SetCurrentProgress ( ) : void

Convenience function, in case you wanted to associate progress bar, slider or scroll bar's OnValueChanged function in inspector with a label.

SetCurrentSelection ( ) : void

Convenience function, in case you wanted to automatically set some label's text by selecting a value in the UIPopupList.

UpdateNGUIText ( ) : void

Update NGUIText.current with all the properties from this label.

UpdateNGUIText ( int size, int lineWidth, int lineHeight ) : void

Update NGUIText.current with all the properties from this label.

Wrap ( string text, string &final ) : bool

Convenience function -- wrap the current text given the label's settings and unlimited height.

Wrap ( string text, string &final, int height ) : bool

Convenience function -- wrap the current text given the label's settings and the given height.

Protected Methods

Method Description
ApplyOffset ( BetterList verts, int start ) : Vector2

Align the vertices, making the label positioned correctly based on the pivot. Returns the offset that was applied.

OnAnchor ( ) : void

If the label is anchored it should not auto-resize.

OnDisable ( ) : void

Remove the font texture change listener.

OnInit ( ) : void

Register the font texture change listener.

OnStart ( ) : void

Determine start-up values.

OnValidate ( ) : void

Validate the properties.

SetActiveFont ( Font fnt ) : void

Set the active font, correctly setting and clearing callbacks.

UpgradeFrom265 ( ) : void

Upgrading labels is a bit different.

Private Methods

Method Description
GetCharacterIndex ( Vector2 localPos ) : int
GetCharacterIndex ( Vector3 worldPos ) : int
OnFontTextureChanged ( ) : void

Notification called when the Unity's font's texture gets rebuilt. Unity's font has a nice tendency to simply discard other characters when the texture's dimensions change. By requesting them inside the notification callback, we immediately force them back in. Originally I was subscribing each label to the font individually, but as it turned out mono's delegate system causes an insane amount of memory allocations when += or -= to a delegate. So... queue yet another work-around.

Method Details

ApplyOffset() protected method

Align the vertices, making the label positioned correctly based on the pivot. Returns the offset that was applied.
protected ApplyOffset ( BetterList verts, int start ) : Vector2
verts BetterList
start int
return Vector2

ApplyShadow() public method

Apply a shadow effect to the buffer.
public ApplyShadow ( BetterList verts, BetterList uvs, BetterList cols, int start, int end, float x, float y ) : void
verts BetterList
uvs BetterList
cols BetterList
start int
end int
x float
y float
return void

AssumeNaturalSize() public method

Make the label assume its natural size.
public AssumeNaturalSize ( ) : void
return void

CalculateOffsetToFit() public method

Calculate the character index offset necessary in order to print the end of the specified text.
public CalculateOffsetToFit ( string text ) : int
text string
return int

GetCharacterIndex() public method

Get the index of the character on the line directly above or below the current index.
public GetCharacterIndex ( int currentIndex, KeyCode, key ) : int
currentIndex int
key KeyCode,
return int

GetCharacterIndexAtPosition() public method

Return the index of the character at the specified local position.
public GetCharacterIndexAtPosition ( Vector2 localPos ) : int
localPos Vector2
return int

GetCharacterIndexAtPosition() public method

Return the index of the character at the specified world position.
public GetCharacterIndexAtPosition ( Vector3 worldPos ) : int
worldPos Vector3
return int

GetSides() public method

Get the sides of the rectangle relative to the specified transform. The order is left, top, right, bottom.
public GetSides ( Transform relativeTo ) : Vector3[]
relativeTo Transform
return Vector3[]

GetUrlAtCharacterIndex() public method

Retrieve the URL right under the specified character index.
public GetUrlAtCharacterIndex ( int characterIndex ) : string
characterIndex int
return string

GetUrlAtPosition() public method

Retrieve the URL directly below the specified relative-to-label position.
public GetUrlAtPosition ( Vector2 localPos ) : string
localPos Vector2
return string

GetUrlAtPosition() public method

Retrieve the URL directly below the specified world-space position.
public GetUrlAtPosition ( Vector3 worldPos ) : string
worldPos Vector3
return string

GetWordAtCharacterIndex() public method

Retrieve the word right under the specified character index.
public GetWordAtCharacterIndex ( int characterIndex ) : string
characterIndex int
return string

GetWordAtPosition() public method

Retrieve the word directly below the specified relative-to-label position.
public GetWordAtPosition ( Vector2 localPos ) : string
localPos Vector2
return string

GetWordAtPosition() public method

Retrieve the word directly below the specified world-space position.
public GetWordAtPosition ( Vector3 worldPos ) : string
worldPos Vector3
return string

MakePixelPerfect() public method

Text is pixel-perfect when its scale matches the size.
public MakePixelPerfect ( ) : void
return void

MarkAsChanged() public method

UILabel needs additional processing when something changes.
public MarkAsChanged ( ) : void
return void

OnAnchor() protected method

If the label is anchored it should not auto-resize.
protected OnAnchor ( ) : void
return void

OnDisable() protected method

Remove the font texture change listener.
protected OnDisable ( ) : void
return void

OnFill() public method

Draw the label.
public OnFill ( BetterList verts, BetterList uvs, BetterList cols ) : void
verts BetterList
uvs BetterList
cols BetterList
return void

OnInit() protected method

Register the font texture change listener.
protected OnInit ( ) : void
return void

OnStart() protected method

Determine start-up values.
protected OnStart ( ) : void
return void

OnValidate() protected method

Validate the properties.
protected OnValidate ( ) : void
return void

PrintOverlay() public method

Fill the specified geometry buffer with vertices that would highlight the current selection.
public PrintOverlay ( int start, int end, UIGeometry, caret, UIGeometry, highlight, Color caretColor, Color highlightColor ) : void
start int
end int
caret UIGeometry,
highlight UIGeometry,
caretColor Color
highlightColor Color
return void

ProcessAndRequest() public method

Request the needed characters in the texture.
public ProcessAndRequest ( ) : void
return void

ProcessText() public method

Process the raw text, called when something changes.
public ProcessText ( ) : void
return void

ProcessText() public method

Process the raw text, called when something changes.
public ProcessText ( bool legacyMode ) : void
legacyMode bool
return void

SetActiveFont() protected method

Set the active font, correctly setting and clearing callbacks.
protected SetActiveFont ( Font fnt ) : void
fnt Font
return void

SetCurrentPercent() public method

Convenience function, in case you wanted to associate progress bar, slider or scroll bar's OnValueChanged function in inspector with a label.
public SetCurrentPercent ( ) : void
return void

SetCurrentProgress() public method

Convenience function, in case you wanted to associate progress bar, slider or scroll bar's OnValueChanged function in inspector with a label.
public SetCurrentProgress ( ) : void
return void

SetCurrentSelection() public method

Convenience function, in case you wanted to automatically set some label's text by selecting a value in the UIPopupList.
public SetCurrentSelection ( ) : void
return void

UpdateNGUIText() public method

Update NGUIText.current with all the properties from this label.
public UpdateNGUIText ( ) : void
return void

UpdateNGUIText() public method

Update NGUIText.current with all the properties from this label.
public UpdateNGUIText ( int size, int lineWidth, int lineHeight ) : void
size int
lineWidth int
lineHeight int
return void

UpgradeFrom265() protected method

Upgrading labels is a bit different.
protected UpgradeFrom265 ( ) : void
return void

Wrap() public method

Convenience function -- wrap the current text given the label's settings and unlimited height.
public Wrap ( string text, string &final ) : bool
text string
final string
return bool

Wrap() public method

Convenience function -- wrap the current text given the label's settings and the given height.
public Wrap ( string text, string &final, int height ) : bool
text string
final string
height int
return bool

Property Details

keepCrispWhenShrunk public property

Whether the label will keep its content crisp even when shrunk. You may want to turn this off on mobile devices.
public Crispness keepCrispWhenShrunk
return Crispness