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
ChatManager.cs
Go to the documentation of this file.
1using System;
5using System.Text;
9using Terraria.Chat;
10
11namespace Terraria.UI.Chat
12{
13 // Token: 0x0200072D RID: 1837
14 public static class ChatManager
15 {
16 // Token: 0x06003CC7 RID: 15559 RVA: 0x0023741C File Offset: 0x0023561C
17 public static Color WaveColor(Color color)
18 {
19 /*
20An exception occurred when decompiling this method (06003CC7)
21
22ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.UI.Chat.ChatManager::WaveColor(Microsoft.Xna.Framework.Graphics.Color)
23
24 ---> System.Exception: Basic block has to end with unconditional control flow.
25{
26 IL_0000:
27 brtrue(IL_0000, ldc.i4:bool(1))
28}
29
30 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
31 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
32 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
33 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
34 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
35 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
36 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
37 --- End of inner exception stack trace ---
38 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
39 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
40*/;
41 }
42
43 // Token: 0x06003CC8 RID: 15560 RVA: 0x0023742C File Offset: 0x0023562C
44 public static void ConvertNormalSnippets(TextSnippet[] snippets)
45 {
46 string textOriginal = snippets.TextOriginal;
47 Type type;
48 Type type2;
49 bool flag = type == type2;
50 }
51
52 // Token: 0x06003CC9 RID: 15561 RVA: 0x00237454 File Offset: 0x00235654
53 public static void Register<T>(params string[] names) where T : ITagHandler, new()
54 {
55 if (!true)
56 {
57 }
58 }
59
60 // Token: 0x06003CCA RID: 15562 RVA: 0x00237468 File Offset: 0x00235668
61 private static ITagHandler GetHandler(string tagName)
62 {
63 }
64
65 // Token: 0x06003CCB RID: 15563 RVA: 0x00237478 File Offset: 0x00235678
66 public static TextSnippet[] ParseMessage(string text, Color baseColor, float maxWidth = -1f)
67 {
68 if (!true)
69 {
70 }
72 IEnumerator enumerator = matchCollection.GetEnumerator();
73 if (enumerator != null)
74 {
75 }
76 Group group;
77 string value = group.Value;
79 string value2 = group2.Value;
81 string value3 = group3.Value;
82 if (ChatManager.GetHandler(value) != null)
83 {
84 }
85 long num = 0L;
86 int num2 = 6;
87 if (enumerator != null)
88 {
89 }
90 if (num == 0L)
91 {
92 if (num2 == 0)
93 {
94 }
95 throw new InvalidCastException();
96 }
97 throw new OutOfMemoryException();
98 }
99
100 // Token: 0x06003CCC RID: 15564 RVA: 0x002374EC File Offset: 0x002356EC
101 public static bool AddChatText(SpriteFont font, string text, Vector2 baseScale)
102 {
103 if (!true)
104 {
105 }
106 int screenWidth = Main.screenWidth;
107 return true;
108 }
109
110 // Token: 0x06003CCD RID: 15565 RVA: 0x00237508 File Offset: 0x00235708
111 public static Vector2 GetStringSize(SpriteFont font, string text, Vector2 baseScale, float maxWidth = -1f)
112 {
113 /*
114An exception occurred when decompiling this method (06003CCD)
115
116ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.UI.Chat.ChatManager::GetStringSize(Microsoft.Xna.Framework.Graphics.SpriteFont,System.String,Microsoft.Xna.Framework.Vector2,System.Single)
117
118 ---> System.Exception: Basic block has to end with unconditional control flow.
119{
120 IL_0003:
121 stloc:Vector2(var_1_0C, call:Vector2(ChatManager::GetStringSize, ldloc:SpriteFont(font), ldloc:class Terraria.UI.Chat.TextSnippet[](var_0), ldloc:Vector2(baseScale), ldloc:float32(maxWidth)))
122}
123
124 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
125 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
126 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
127 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
128 --- End of inner exception stack trace ---
129 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
130 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
131*/;
132 }
133
134 // Token: 0x06003CCE RID: 15566 RVA: 0x00237524 File Offset: 0x00235724
135 public static Vector2 GetStringSize(SpriteFont font, TextSnippet[] snippets, Vector2 baseScale, float maxWidth = -1f)
136 {
137 /*
138An exception occurred when decompiling this method (06003CCE)
139
140ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.UI.Chat.ChatManager::GetStringSize(Microsoft.Xna.Framework.Graphics.SpriteFont,Terraria.UI.Chat.TextSnippet[],Microsoft.Xna.Framework.Vector2,System.Single)
141
142 ---> System.Exception: Basic block has to end with unconditional control flow.
143{
144 IL_00E3:
145 stloc:int32(var_72_E9, ldfld:int32(SpriteFont::<LineSpacing>k__BackingField, ldloc:SpriteFont(font)))
146 stloc:float32(var_74_F7, call:float32(Math::Max, ldloc:float32(var_71), ldloc:float32(var_61)))
147}
148
149 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
150 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
151 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
152 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
153 --- End of inner exception stack trace ---
154 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
155 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
156*/;
157 }
158
159 // Token: 0x06003CCF RID: 15567 RVA: 0x0023762C File Offset: 0x0023582C
160 public static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, TextSnippet[] snippets, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f, int maxLines = 100)
161 {
162 if (!true)
163 {
164 }
165 }
166
167 // Token: 0x06003CD0 RID: 15568 RVA: 0x00237648 File Offset: 0x00235848
168 public static Vector2 DrawColorCodedString(SpriteBatch spriteBatch, SpriteFont font, TextSnippet[] snippets, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, [Out] int hoveredSnippet, float maxWidth, bool ignoreColors = false, int maxLines = 100)
169 {
170 int num = 1;
171 if (num == 0)
172 {
173 }
174 int mouseX = Main.mouseX;
175 int mouseY = Main.mouseY;
176 Vector2 vector = font.MeasureString(" ");
177 if (num == 0)
178 {
179 }
180 if (!true)
181 {
182 }
183 string textOriginal = snippets.TextOriginal;
184 bool flag;
185 if (!flag)
186 {
187 }
188 float num2 = Math.Max(rotation, rotation);
189 Vector2 vector2 = font.MeasureString(" ");
190 if (" " == null)
191 {
192 }
193 return " ";
194 }
195
196 // Token: 0x06003CD1 RID: 15569 RVA: 0x00237798 File Offset: 0x00235998
197 public static Vector2 DrawColorCodedStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, TextSnippet[] snippets, Vector2 position, float rotation, Vector2 origin, Vector2 baseScale, [Out] int hoveredSnippet, float maxWidth = -1f, float spread = 2f, int maxLines = 100)
198 {
199 /*
200An exception occurred when decompiling this method (06003CD1)
201
202ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.UI.Chat.ChatManager::DrawColorCodedStringWithShadow(Microsoft.Xna.Framework.Graphics.SpriteBatch,Microsoft.Xna.Framework.Graphics.SpriteFont,Terraria.UI.Chat.TextSnippet[],Microsoft.Xna.Framework.Vector2,System.Single,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Single,System.Single,System.Int32)
203
204 ---> System.Exception: Basic block has to end with unconditional control flow.
205{
206 IL_0000:
207 brtrue(IL_0000, ldc.i4:bool(1))
208}
209
210 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
211 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
212 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
213 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
214 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
215 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
216 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
217 --- End of inner exception stack trace ---
218 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
219 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
220*/;
221 }
222
223 // Token: 0x06003CD2 RID: 15570 RVA: 0x002377A8 File Offset: 0x002359A8
224 public static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f)
225 {
226 int num = 1;
227 if (num == 0)
228 {
229 }
230 if (num == 0)
231 {
232 }
233 }
234
235 // Token: 0x06003CD3 RID: 15571 RVA: 0x002377C4 File Offset: 0x002359C4
236 public static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f, int maxLines = 100)
237 {
238 int num = 1;
239 if (num == 0)
240 {
241 }
242 if (num == 0)
243 {
244 }
245 }
246
247 // Token: 0x06003CD4 RID: 15572 RVA: 0x002377E0 File Offset: 0x002359E0
248 public static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f)
249 {
250 int num = 1;
251 if (num == 0)
252 {
253 }
254 if (num == 0)
255 {
256 }
257 }
258
259 // Token: 0x06003CD5 RID: 15573 RVA: 0x002377FC File Offset: 0x002359FC
260 public static void DrawColorCodedString(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, bool ignoreColors = false, int maxLines = 100)
261 {
262 Vector2 vector = font.MeasureString(" ");
263 int stringLength = text._stringLength;
264 if (" " == null)
265 {
266 }
267 if (!true)
268 {
269 }
270 long num = 0L;
271 char c = text[(int)num];
272 char c2 = text[(int)num];
273 }
274
275 // Token: 0x06003CD6 RID: 15574 RVA: 0x002378F4 File Offset: 0x00235AF4
276 public static void DrawColorCodedString(Vector2[] offsets, SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, bool ignoreColors = false, int maxLines = 100)
277 {
278 Vector2 vector = font.MeasureString(" ");
279 int stringLength = text._stringLength;
280 if (" " == null)
281 {
282 }
283 if (!true)
284 {
285 }
286 long num = 0L;
287 char c = text[(int)num];
288 char c2 = text[(int)num];
289 }
290
291 // Token: 0x06003CD7 RID: 15575 RVA: 0x002379EC File Offset: 0x00235BEC
292 public static Vector2 DrawColorCodedString(SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, bool ignoreColors = false)
293 {
294 Vector2 vector = font.MeasureString(" ");
295 int length = text.Length;
296 long num = 0L;
297 long num2 = 0L;
298 char c = text[(int)num2];
299 char c2 = text[(int)num2];
300 int <LineSpacing>k__BackingField = font.<LineSpacing>k__BackingField;
301 if (num2 == 0L)
302 {
303 }
304 float num3 = Math.Max(maxWidth, maxWidth);
305 if (num2 == 0L)
306 {
307 }
308 Vector2 vector2 = font.MeasureString(text, (int)num, (int)num);
309 if (num2 == 0L)
310 {
311 }
312 float num4 = Math.Max(rotation, rotation);
313 char c3 = text[(int)num2];
314 int <LineSpacing>k__BackingField2 = font.<LineSpacing>k__BackingField;
315 if (num2 == 0L)
316 {
317 }
318 float num5 = Math.Max(num3, maxWidth);
319 Vector2 vector3 = font.MeasureString(text, (int)num2, (int)num);
320 int <LineSpacing>k__BackingField3 = font.<LineSpacing>k__BackingField;
321 if (num2 == 0L)
322 {
323 }
324 float num6 = Math.Max(num5, maxWidth);
325 if (num2 == 0L)
326 {
327 }
328 Vector2 vector4 = font.MeasureString(text, (int)num2, (int)num2);
329 if (num2 == 0L)
330 {
331 }
332 float num7 = Math.Max(num4, rotation);
333 if (num2 == 0L)
334 {
335 return;
336 }
337 }
338
339 // Token: 0x06003CD8 RID: 15576 RVA: 0x00237ACC File Offset: 0x00235CCC
340 public static Vector2 DrawColorCodedString(Vector2[] offsets, SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, bool ignoreColors = false)
341 {
342 /*
343An exception occurred when decompiling this method (06003CD8)
344
345ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.UI.Chat.ChatManager::DrawColorCodedString(Microsoft.Xna.Framework.Vector2[],Microsoft.Xna.Framework.Graphics.SpriteBatch,Microsoft.Xna.Framework.Graphics.SpriteFont,System.Text.StringBuilder,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Graphics.Color,System.Single,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Single,System.Boolean)
346
347 ---> System.Exception: Basic block has to end with unconditional control flow.
348{
349 IL_0093:
350 stloc:float32(var_22_9F, call:float32(Math::Max, ldloc:float32(var_18_7B), ldloc:float32(maxWidth)))
351 stloc:Vector2(var_25_AD, call:Vector2(SpriteFont::MeasureString, ldloc:SpriteFont(font), ldloc:StringBuilder(text), ldloc:int64[exp:int32](var_3_16), ldloc:int64[exp:int32](var_3_16)))
352 stloc:float32(var_27_BB, call:float32(Math::Max, ldloc:float32(var_14_5C), ldloc:float32(rotation)))
353}
354
355 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
356 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
357 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
358 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
359 --- End of inner exception stack trace ---
360 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
361 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
362*/;
363 }
364
365 // Token: 0x06003CD9 RID: 15577 RVA: 0x00237B98 File Offset: 0x00235D98
366 public static void DrawColorCodedStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f)
367 {
368 if (!true)
369 {
370 }
371 if (true)
372 {
373 return;
374 }
375 if (!true)
376 {
377 }
380 if (!true)
381 {
382 }
383 }
384
385 // Token: 0x06003CDA RID: 15578 RVA: 0x00237BB8 File Offset: 0x00235DB8
386 public static void DrawStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f)
387 {
388 if (!true)
389 {
390 }
391 if (true)
392 {
393 return;
394 }
395 if (!true)
396 {
397 }
398 }
399
400 // Token: 0x06003CDB RID: 15579 RVA: 0x00237BD0 File Offset: 0x00235DD0
401 public static void DrawStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f, int maxLines = 100)
402 {
403 if (!true)
404 {
405 }
406 if (true)
407 {
408 return;
409 }
410 if (!true)
411 {
412 }
413 }
414
415 // Token: 0x06003CDC RID: 15580 RVA: 0x00237BE8 File Offset: 0x00235DE8
416 public static void DrawStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth = -1f, float spread = 2f)
417 {
418 if (!true)
419 {
420 }
421 if (true)
422 {
423 return;
424 }
425 if (!true)
426 {
427 }
428 }
429
430 // Token: 0x06003CDD RID: 15581 RVA: 0x00237C00 File Offset: 0x00235E00
431 // Note: this type is marked as 'beforefieldinit'.
432 static ChatManager()
433 {
434 if (!true)
435 {
436 }
437 if (!true)
438 {
439 }
440 if (!true)
441 {
442 }
443 if (!true)
444 {
445 }
446 }
447
448 // Token: 0x04007BE6 RID: 31718
450
451 // Token: 0x04007BE7 RID: 31719
453
454 // Token: 0x04007BE8 RID: 31720
456
457 // Token: 0x04007BE9 RID: 31721
459
460 // Token: 0x04007BEA RID: 31722
461 public static bool AllowColon;
462
463 // Token: 0x04007BEB RID: 31723
465
466 // Token: 0x0200072E RID: 1838
467 public static class Regexes
468 {
469 // Token: 0x06003CDE RID: 15582 RVA: 0x00237C20 File Offset: 0x00235E20
470 // Note: this type is marked as 'beforefieldinit'.
471 static Regexes()
472 {
473 }
474
475 // Token: 0x04007BEC RID: 31724
476 public static readonly Regex Format;
477 }
478 }
479}
class f__AnonymousType0<< Count > j__TPar
static byte Max(byte val1, byte val2)
Definition Math.cs:111
static int screenWidth
Definition Main.cs:2001
static int mouseY
Definition Main.cs:601
static int mouseX
Definition Main.cs:587
static void DrawStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f)
static SpriteBatch overloadedSpriteBatch
static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, TextSnippet[] snippets, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f, int maxLines=100)
static bool AddChatText(SpriteFont font, string text, Vector2 baseScale)
static Vector2 GetStringSize(SpriteFont font, TextSnippet[] snippets, Vector2 baseScale, float maxWidth=-1f)
static void DrawColorCodedStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f)
static Vector2 GetStringSize(SpriteFont font, string text, Vector2 baseScale, float maxWidth=-1f)
static void DrawStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f)
static readonly Vector2[] ShadowDirections
static Vector2 DrawColorCodedString(SpriteBatch spriteBatch, SpriteFont font, TextSnippet[] snippets, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, [Out] int hoveredSnippet, float maxWidth, bool ignoreColors=false, int maxLines=100)
static readonly ChatCommandProcessor Commands
static Vector2[] ShadowDirectionsScaled
static void DrawColorCodedString(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, bool ignoreColors=false, int maxLines=100)
static Color WaveColor(Color color)
static TextSnippet[] ParseMessage(string text, Color baseColor, float maxWidth=-1f)
static ConcurrentDictionary< string, ITagHandler > _handlers
static Vector2 DrawColorCodedStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, TextSnippet[] snippets, Vector2 position, float rotation, Vector2 origin, Vector2 baseScale, [Out] int hoveredSnippet, float maxWidth=-1f, float spread=2f, int maxLines=100)
static void Register< T >(params string[] names)
static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f)
static Vector2 DrawColorCodedString(Vector2[] offsets, SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, bool ignoreColors=false)
static void ConvertNormalSnippets(TextSnippet[] snippets)
static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f, int maxLines=100)
static ITagHandler GetHandler(string tagName)
static void DrawStringWithShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f, int maxLines=100)
static void DrawColorCodedString(Vector2[] offsets, SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, bool ignoreColors=false, int maxLines=100)
static void DrawColorCodedStringShadow(SpriteBatch spriteBatch, SpriteFont font, string text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, float spread=2f)
static Vector2 DrawColorCodedString(SpriteBatch spriteBatch, SpriteFont font, StringBuilder text, Vector2 position, Color baseColor, float rotation, Vector2 origin, Vector2 baseScale, float maxWidth=-1f, bool ignoreColors=false)