terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
SpriteFont.cs
Go to the documentation of this file.
1using System;
6using System.Text;
9
11{
12 // Token: 0x02000392 RID: 914
13 public sealed class SpriteFont
14 {
15 // Token: 0x1700030F RID: 783
16 // (get) Token: 0x0600185B RID: 6235 RVA: 0x00068E38 File Offset: 0x00067038
18 {
19 get
20 {
21 return this._glyphs;
22 }
23 }
24
25 // Token: 0x0600185C RID: 6236 RVA: 0x00068E4C File Offset: 0x0006704C
26 public SpriteFont()
27 {
29 base..ctor();
30 }
31
32 // Token: 0x0600185D RID: 6237 RVA: 0x00068E68 File Offset: 0x00067068
33 public SpriteFont(Texture2D[] textures, SpriteFont.Glyph[] glyphs, int lineSpacing, float spacing, char? defaultCharacter)
34 {
35 int num = 1;
37 base..ctor();
39 this.LineSpacing = lineSpacing;
41 int y = glyphs.Cropping.Y;
44 }
45
46 // Token: 0x17000310 RID: 784
47 // (get) Token: 0x0600185E RID: 6238 RVA: 0x00068EB8 File Offset: 0x000670B8
49 {
50 get
51 {
52 return this._textures;
53 }
54 }
55
56 // Token: 0x0600185F RID: 6239 RVA: 0x00068ECC File Offset: 0x000670CC
58 {
59 /*
60An exception occurred when decompiling this method (0600185F)
61
62ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.Dictionary`2<System.Char,Microsoft.Xna.Framework.Graphics.SpriteFont/Glyph> Microsoft.Xna.Framework.Graphics.SpriteFont::GetGlyphs()
63
64 ---> System.Exception: Basic block has to end with unconditional control flow.
65{
66 IL_000C:
67 stloc:int32(var_2_17, ldfld:int32(Rectangle::Y, ldfld:Rectangle[exp:valuetype Microsoft.Xna.Framework.Rectangle&](Glyph::Cropping, ldloc:valuetype Microsoft.Xna.Framework.Graphics.SpriteFont/Glyph[][exp:valuetype Microsoft.Xna.Framework.Graphics.SpriteFont/Glyph&](var_1_08))))
68 stloc:int32(var_3_28, ldfld:int32(Rectangle::Y, ldfld:Rectangle[exp:valuetype Microsoft.Xna.Framework.Rectangle&](Glyph::Cropping, ldfld:valuetype Microsoft.Xna.Framework.Graphics.SpriteFont/Glyph[][exp:valuetype Microsoft.Xna.Framework.Graphics.SpriteFont/Glyph&](SpriteFont::_glyphs, ldloc:SpriteFont(this)))))
69}
70
71 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
72 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
73 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
74 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
75 --- End of inner exception stack trace ---
76 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
77 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
78*/;
79 }
80
81 // Token: 0x17000311 RID: 785
82 // (get) Token: 0x06001860 RID: 6240 RVA: 0x00068F04 File Offset: 0x00067104
83 // (set) Token: 0x06001861 RID: 6241 RVA: 0x00068F18 File Offset: 0x00067118
84 public char? DefaultCharacter
85 {
86 get
87 {
88 return this._defaultCharacter;
89 }
90 set
91 {
92 }
93 }
94
95 // Token: 0x17000312 RID: 786
96 // (get) Token: 0x06001862 RID: 6242 RVA: 0x00068F30 File Offset: 0x00067130
97 // (set) Token: 0x06001863 RID: 6243 RVA: 0x00068F44 File Offset: 0x00067144
98 public int LineSpacing
99 {
101 get
102 {
103 return this.<LineSpacing>k__BackingField;
104 }
106 set
107 {
109 }
110 }
111
112 // Token: 0x17000313 RID: 787
113 // (get) Token: 0x06001864 RID: 6244 RVA: 0x00068F58 File Offset: 0x00067158
114 // (set) Token: 0x06001865 RID: 6245 RVA: 0x00068F6C File Offset: 0x0006716C
115 public float Spacing
116 {
118 get
119 {
120 /*
121An exception occurred when decompiling this method (06001864)
122
123ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Microsoft.Xna.Framework.Graphics.SpriteFont::get_Spacing()
124
125 ---> System.Exception: Basic block has to end with unconditional control flow.
126{
127 Block_0:
128 stloc:float32(var_0_06, ldfld:float32(SpriteFont::<Spacing>k__BackingField, ldloc:SpriteFont(this)))
129}
130
131 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
132 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
133 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
134 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
135 --- End of inner exception stack trace ---
136 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
137 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
138*/;
139 }
141 set
142 {
143 }
144 }
145
146 // Token: 0x06001866 RID: 6246 RVA: 0x00068F7C File Offset: 0x0006717C
148 {
149 /*
150An exception occurred when decompiling this method (06001866)
151
152ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Microsoft.Xna.Framework.Graphics.SpriteFont::MeasureString(System.String)
153
154 ---> System.Exception: Basic block has to end with unconditional control flow.
155{
156 Block_0:
157 stloc:int32(var_0_06, ldfld:int32(string::_stringLength, ldloc:string(text)))
158}
159
160 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
161 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
162 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
163 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
164 --- End of inner exception stack trace ---
165 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
166 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
167*/;
168 }
169
170 // Token: 0x06001867 RID: 6247 RVA: 0x000021DB File Offset: 0x000003DB
171 public int GetMaxCharacterIndex(string text, int startIndex, int endIndex, float scale, float maxWidth)
172 {
173 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
174 }
175
176 // Token: 0x06001868 RID: 6248 RVA: 0x00068F90 File Offset: 0x00067190
178 {
179 Vector2 vector;
180 return vector;
181 }
182
183 // Token: 0x06001869 RID: 6249 RVA: 0x00068FA0 File Offset: 0x000671A0
185 {
186 Vector2 vector;
187 return vector;
188 }
189
190 // Token: 0x0600186A RID: 6250 RVA: 0x00068FB0 File Offset: 0x000671B0
192 {
193 int length = text.Length;
194 Vector2 vector;
195 return vector;
196 }
197
198 // Token: 0x0600186B RID: 6251 RVA: 0x00068FC8 File Offset: 0x000671C8
199 internal void MeasureMaxString(SpriteFont.CharacterSource text, [Out] int lastCharacter, float maxWidth, float scale)
200 {
201 int length = text.Length;
202 if (length == 0)
203 {
204 int num;
206 return;
207 }
208 int num2 = this.<LineSpacing>k__BackingField;
209 if (length == 0)
210 {
211 }
212 if (!true)
213 {
214 }
216 if (glyphs != null && glyphs.Cropping.Y != 0)
217 {
218 return;
219 }
220 int length2 = text.Length;
221 long num3 = 0L;
222 char c = text[(int)num3];
223 int num4 = this.<LineSpacing>k__BackingField;
224 }
225
226 // Token: 0x0600186C RID: 6252 RVA: 0x00069070 File Offset: 0x00067270
228 {
229 int length;
230 for (;;)
231 {
232 length = text.Length;
233 if (length != 0)
234 {
235 break;
236 }
237 int num;
238 if (num == 0)
239 {
240 }
241 if (num == 0)
242 {
243 goto Block_3;
244 }
245 }
246 int num2 = this.<LineSpacing>k__BackingField;
247 if (length == 0)
248 {
249 }
250 if (!true)
251 {
252 }
254 if (glyphs != null && glyphs.Cropping.Y != 0)
255 {
256 return;
257 }
258 int length2 = text.Length;
259 long num3 = 0L;
260 char c = text[(int)num3];
261 int num4 = this.<LineSpacing>k__BackingField;
262 int length3 = text.Length;
263 return;
264 Block_3:
265 if (!true)
266 {
267 }
268 }
269
270 // Token: 0x0600186D RID: 6253 RVA: 0x00069124 File Offset: 0x00067324
271 internal bool TryGetGlyphIndex(char c, [Out] int index)
272 {
273 /*
274An exception occurred when decompiling this method (0600186D)
275
276ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Microsoft.Xna.Framework.Graphics.SpriteFont::TryGetGlyphIndex(System.Char,System.Int32)
277
278 ---> System.Exception: Basic block has to end with unconditional control flow.
279{
280 Block_0:
281 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](index), ldc.i4:int32(1))
282 stloc:class [mscorlib]System.Collections.Generic.Dictionary`2<char, int32>(var_0_0D, ldfld:class [mscorlib]System.Collections.Generic.Dictionary`2<char, int32>(SpriteFont::_glyphIndex, ldloc:SpriteFont(this)))
283}
284
285 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
286 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
287 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
288 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
289 --- End of inner exception stack trace ---
290 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
291 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
292*/;
293 }
294
295 // Token: 0x0600186E RID: 6254 RVA: 0x00069140 File Offset: 0x00067340
296 public bool HasCharacter(char c)
297 {
298 bool flag;
299 return flag;
300 }
301
302 // Token: 0x0600186F RID: 6255 RVA: 0x00069150 File Offset: 0x00067350
303 internal int GetGlyphIndexOrDefault(char c)
304 {
305 return this._defaultGlyphIndex;
306 }
307
308 // Token: 0x06001870 RID: 6256 RVA: 0x00069164 File Offset: 0x00067364
309 public string CreateWrappedText(string text, float maxWidth)
310 {
312 return this.CreateWrappedText(text, maxWidth, currentCulture);
313 }
314
315 // Token: 0x06001871 RID: 6257 RVA: 0x000021DB File Offset: 0x000003DB
316 public string CreateWrappedText(string text, float maxWidth, CultureInfo culture)
317 {
318 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
319 }
320
321 // Token: 0x06001872 RID: 6258 RVA: 0x00069188 File Offset: 0x00067388
323 {
324 int glyphIndexOrDefault = this.GetGlyphIndexOrDefault(character);
326 int height = glyphs.Cropping.Height;
327 float leftSideBearing = glyphs.LeftSideBearing;
329 glyph.Character = (char)height;
332 return glyphs;
333 }
334
335 // Token: 0x040026AD RID: 9901
337
338 // Token: 0x040026AE RID: 9902
340
341 // Token: 0x040026AF RID: 9903
342 private char? _defaultCharacter;
343
344 // Token: 0x040026B0 RID: 9904
346
347 // Token: 0x040026B1 RID: 9905
349
350 // Token: 0x040026B2 RID: 9906
352 private int <LineSpacing>k__BackingField;
353
354 // Token: 0x040026B3 RID: 9907
356 private float <Spacing>k__BackingField;
357
358 // Token: 0x02000393 RID: 915
359 internal static class Errors
360 {
361 // Token: 0x040026B4 RID: 9908
362 public const string TextContainsUnresolvableCharacters = "Text contains characters that cannot be resolved by this SpriteFont.";
363
364 // Token: 0x040026B5 RID: 9909
365 public const string UnresolvableCharacter = "Character cannot be resolved by this SpriteFont.";
366 }
367
368 // Token: 0x02000394 RID: 916
369 private class CharComparer : IEqualityComparer<char>
370 {
371 // Token: 0x06001873 RID: 6259 RVA: 0x000021DB File Offset: 0x000003DB
372 public bool Equals(char x, char y)
373 {
374 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
375 }
376
377 // Token: 0x06001874 RID: 6260 RVA: 0x000021DB File Offset: 0x000003DB
378 public int GetHashCode(char b)
379 {
380 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
381 }
382
383 // Token: 0x06001875 RID: 6261 RVA: 0x000691D4 File Offset: 0x000673D4
385 {
386 }
387
388 // Token: 0x06001876 RID: 6262 RVA: 0x000691E8 File Offset: 0x000673E8
389 // Note: this type is marked as 'beforefieldinit'.
391 {
392 }
393
394 // Token: 0x040026B6 RID: 9910
396 }
397
398 // Token: 0x02000395 RID: 917
399 public struct CharacterSource
400 {
401 // Token: 0x06001877 RID: 6263 RVA: 0x000691F8 File Offset: 0x000673F8
402 public CharacterSource(string s)
403 {
404 this._string = s;
405 int stringLength = s._stringLength;
407 }
408
409 // Token: 0x06001878 RID: 6264 RVA: 0x0006921C File Offset: 0x0006741C
410 public CharacterSource(string s, int startIndex, int endIndex)
411 {
412 this._string = s;
414 }
415
416 // Token: 0x06001879 RID: 6265 RVA: 0x00069238 File Offset: 0x00067438
418 {
419 this._builder = builder;
420 int length = builder.Length;
422 }
423
424 // Token: 0x0600187A RID: 6266 RVA: 0x0006925C File Offset: 0x0006745C
426 {
428 this._builder = builder;
429 }
430
431 // Token: 0x17000314 RID: 788
432 public char this[int index]
433 {
434 get
435 {
436 int stringOffset = this._stringOffset;
437 char c;
438 return c;
439 }
440 }
441
442 // Token: 0x040026B7 RID: 9911
443 private readonly string _string;
444
445 // Token: 0x040026B8 RID: 9912
447
448 // Token: 0x040026B9 RID: 9913
450
451 // Token: 0x040026BA RID: 9914
452 public readonly int Length;
453 }
454
455 // Token: 0x02000396 RID: 918
456 public struct Glyph
457 {
458 // Token: 0x0600187C RID: 6268 RVA: 0x00069290 File Offset: 0x00067490
459 public override string ToString()
460 {
461 string text;
462 string text2;
463 string text3;
464 string text4;
465 string text5;
466 string text6;
467 if (("CharacterIndex=" == null || "CharacterIndex=" != null) && (text == null || text != null) && (", Glyph=" == null || ", Glyph=" != null) && (text2 == null || text2 != null) && (", Cropping=" == null || ", Cropping=" != null) && (text3 == null || text3 != null) && (", Kerning=" == null || ", Kerning=" != null) && (text4 == null || text4 != null) && ("," == null || "," != null) && (text5 == null || text5 != null) && ("," == null || "," != null) && (text6 == null || text6 != null))
468 {
469 string text7;
470 return text7;
471 }
472 throw new ArrayTypeMismatchException();
473 }
474
475 // Token: 0x0600187D RID: 6269 RVA: 0x00069334 File Offset: 0x00067534
476 // Note: this type is marked as 'beforefieldinit'.
477 static Glyph()
478 {
479 }
480
481 // Token: 0x040026BB RID: 9915
482 public char Character;
483
484 // Token: 0x040026BC RID: 9916
486
487 // Token: 0x040026BD RID: 9917
489
490 // Token: 0x040026BE RID: 9918
491 public float LeftSideBearing;
492
493 // Token: 0x040026BF RID: 9919
494 public float RightSideBearing;
495
496 // Token: 0x040026C0 RID: 9920
497 public float Width;
498
499 // Token: 0x040026C1 RID: 9921
501
502 // Token: 0x040026C2 RID: 9922
503 public byte TexureIndex;
504
505 // Token: 0x040026C3 RID: 9923
507 }
508
509 // Token: 0x02000397 RID: 919
510 private struct CharacterRegion
511 {
512 // Token: 0x0600187E RID: 6270 RVA: 0x00069344 File Offset: 0x00067544
514 {
516 this.End = start;
518 }
519
520 // Token: 0x040026C4 RID: 9924
521 public char Start;
522
523 // Token: 0x040026C5 RID: 9925
524 public char End;
525
526 // Token: 0x040026C6 RID: 9926
527 public int StartIndex;
528 }
529 }
530}
class f__AnonymousType0<< Count > j__TPar
static readonly SpriteFont.CharComparer Default
Dictionary< char, SpriteFont.Glyph > GetGlyphs()
Definition SpriteFont.cs:57
Vector2 MeasureString(string text, int startIndex, int endIndex)
readonly SpriteFont.Glyph[] _glyphs
string CreateWrappedText(string text, float maxWidth, CultureInfo culture)
void MeasureMaxString(SpriteFont.CharacterSource text, [Out] int lastCharacter, float maxWidth, float scale)
SpriteFont.Glyph GetCharacterMetrics(char character)
bool TryGetGlyphIndex(char c, [Out] int index)
Vector2 MeasureString(StringBuilder text, int startIndex, int endIndex)
int GetMaxCharacterIndex(string text, int startIndex, int endIndex, float scale, float maxWidth)
string CreateWrappedText(string text, float maxWidth)
Vector2 MeasureString(StringBuilder text)
void MeasureString(SpriteFont.CharacterSource text, [Out] Vector2 size)
SpriteFont(Texture2D[] textures, SpriteFont.Glyph[] glyphs, int lineSpacing, float spacing, char? defaultCharacter)
Definition SpriteFont.cs:33
static Thread CurrentThread
Definition Thread.cs:381
CultureInfo CurrentCulture
Definition Thread.cs:283
CharacterSource(string s, int startIndex, int endIndex)
CharacterSource(StringBuilder builder, int startIndex, int endIndex)
static readonly SpriteFont.Glyph Empty