Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Append() [1/2]

void ReLogic.Text.WrappedTextBuilder.Append ( NonBreakingText textToken)
inlineprivate

Definition at line 99 of file WrappedTextBuilder.cs.

100 {
101 float num = ((!_workingLine.IsEmpty()) ? (_workingLineWidth + _font.CharacterSpacing + textToken.Width) : textToken.WidthOnNewLine);
102 if (textToken.WidthOnNewLine > _maxWidth)
103 {
104 if (!_workingLine.IsEmpty())
105 {
107 }
108 if (textToken.Text.Length == 1)
109 {
110 _workingLineWidth = num;
111 _workingLine.Append(textToken.Text);
112 }
113 else
114 {
115 Append(textToken.GetAsWrappedText(_maxWidth));
116 }
117 }
118 else if (num <= _maxWidth)
119 {
120 _workingLineWidth = num;
121 _workingLine.Append(textToken.Text);
122 }
123 else if (_workingLine.IsEmpty())
124 {
125 _completedText.Append(textToken.Text);
128 }
129 else
130 {
132 if (!textToken.IsWhitespace)
133 {
134 _workingLine.Append(textToken.Text);
135 _workingLineWidth = textToken.WidthOnNewLine;
136 }
137 }
138 }
readonly StringBuilder _workingLine
readonly StringBuilder _completedText
StringBuilder Append(char value, int repeatCount)

References ReLogic.Text.WrappedTextBuilder._completedText, ReLogic.Text.WrappedTextBuilder._font, ReLogic.Text.WrappedTextBuilder._maxWidth, ReLogic.Text.WrappedTextBuilder._workingLine, ReLogic.Text.WrappedTextBuilder._workingLineWidth, System.IO.Append, System.Text.StringBuilder.Append(), ReLogic.Text.IFontMetrics.CharacterSpacing, System.Text.StringBuilder.Clear(), ReLogic.Text.WrappedTextBuilder.CommitWorkingLine(), ReLogic.Text.WrappedTextBuilder.NonBreakingText.GetAsWrappedText(), ReLogic.Text.WrappedTextBuilder.NonBreakingText.IsWhitespace, ReLogic.Text.WrappedTextBuilder.NonBreakingText.Text, ReLogic.Text.WrappedTextBuilder.NonBreakingText.Width, and ReLogic.Text.WrappedTextBuilder.NonBreakingText.WidthOnNewLine.