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
UIBestiaryEntryButton.cs
Go to the documentation of this file.
1using System;
3using System.Linq;
9using Terraria.UI;
10
12{
13 // Token: 0x02000A94 RID: 2708
15 {
16 // Token: 0x170008BB RID: 2235
17 // (get) Token: 0x06004FF6 RID: 20470 RVA: 0x0027BEAC File Offset: 0x0027A0AC
18 // (set) Token: 0x06004FF7 RID: 20471 RVA: 0x0027BEC0 File Offset: 0x0027A0C0
20 {
22 get
23 {
24 return this.<Entry>k__BackingField;
25 }
27 private set
28 {
30 }
31 }
32
33 // Token: 0x06004FF8 RID: 20472 RVA: 0x0027BED4 File Offset: 0x0027A0D4
35 {
36 if (!true)
37 {
38 }
39 base..ctor();
40 int num = 17040;
41 this.Entry = entry;
42 int num2 = 257;
43 if (num == 0)
44 {
45 }
46 if (num2 != 0)
47 {
48 }
49 }
50
51 // Token: 0x06004FF9 RID: 20473 RVA: 0x0027BF38 File Offset: 0x0027A138
53 {
54 int num = 1;
56 if (num == 0)
57 {
58 }
59 if (num == 0)
60 {
61 }
62 IEnumerable enumerable = Enumerable.OfType(entry.<Info>k__BackingField);
63 while (<Info>k__BackingField == null)
64 {
65 }
66 long num2;
67 int num3;
68 if (<Info>k__BackingField == null)
69 {
70 num2 = 0L;
71 num3 = 7;
72 if (<Info>k__BackingField != null)
73 {
74 }
75 }
76 if (num2 == 0L && num3 == 0)
77 {
78 while (<Info>k__BackingField == null)
79 {
80 }
81 long num4;
82 if (<Info>k__BackingField == null)
83 {
84 num4 = 0L;
85 if (<Info>k__BackingField != null)
86 {
87 }
88 }
89 if (num4 != 0L)
90 {
91 throw new OutOfMemoryException();
92 }
93 }
94 throw new OutOfMemoryException();
95 }
96
97 // Token: 0x06004FFA RID: 20474 RVA: 0x0027BFD8 File Offset: 0x0027A1D8
99 {
100 /*
101An exception occurred when decompiling this method (06004FFA)
102
103ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Nullable`1<System.Int32> Terraria.GameContent.UI.Elements.UIBestiaryEntryButton::TryGettingDisplayIndex(Terraria.GameContent.Bestiary.BestiaryEntry)
104
105 ---> System.Exception: Basic block has to end with unconditional control flow.
106{
107 IL_000F:
108 brtrue(IL_0000, logicnot:bool(ldloc:class [mscorlib]System.Collections.Generic.List`1<class Terraria.GameContent.Bestiary.IBestiaryInfoElement>[exp:bool](var_1_08)))
109}
110
111 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
112 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
113 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
114 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
115 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
116 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
117 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
118 --- End of inner exception stack trace ---
119 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
120 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
121*/;
122 }
123
124 // Token: 0x06004FFB RID: 20475 RVA: 0x0027BFF8 File Offset: 0x0027A1F8
125 protected override void DrawSelf(SpriteBatch spriteBatch)
126 {
127 bool <IsMouseHovering>k__BackingField = this.<IsMouseHovering>k__BackingField;
128 if (<IsMouseHovering>k__BackingField)
129 {
131 {
132 }
133 string hoverText = this._icon.GetHoverText();
134 }
135 }
136
137 // Token: 0x06004FFC RID: 20476 RVA: 0x0027C020 File Offset: 0x0027A220
139 {
140 UIImage borders = this._borders;
141 base.RemoveChild(borders);
143 base.RemoveChild(bordersGlow);
145 base.RemoveChild(bordersOverlay);
147 base.Append(borders2);
149 base.Append(bordersGlow2);
151 }
152
153 // Token: 0x06004FFD RID: 20477 RVA: 0x0027C084 File Offset: 0x0027A284
155 {
156 UIImage borders = this._borders;
157 base.RemoveChild(borders);
159 base.RemoveChild(bordersGlow);
161 base.RemoveChild(bordersOverlay);
163 base.Append(bordersOverlay2);
165 base.Append(borders2);
167 }
168
169 // Token: 0x040088DD RID: 35037
171 private BestiaryEntry <Entry>k__BackingField;
172
173 // Token: 0x040088DE RID: 35038
175
176 // Token: 0x040088DF RID: 35039
178
179 // Token: 0x040088E0 RID: 35040
181
182 // Token: 0x040088E1 RID: 35041
184
185 // Token: 0x02000A95 RID: 2709
187 private sealed class <>c__DisplayClass9_0
188 {
189 // Token: 0x06004FFE RID: 20478 RVA: 0x0027C0E4 File Offset: 0x0027A2E4
191 {
192 }
193
194 // Token: 0x06004FFF RID: 20479 RVA: 0x0027C0F8 File Offset: 0x0027A2F8
196 {
198 bool flag;
199 return flag;
200 }
201
202 // Token: 0x040088E2 RID: 35042
204 }
205
206 // Token: 0x02000A96 RID: 2710
208 private sealed class <>c__DisplayClass9_1
209 {
210 // Token: 0x06005000 RID: 20480 RVA: 0x0027C110 File Offset: 0x0027A310
212 {
213 }
214
215 // Token: 0x06005001 RID: 20481 RVA: 0x0027C124 File Offset: 0x0027A324
217 {
218 /*
219An exception occurred when decompiling this method (06005001)
220
221ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.UI.Elements.UIBestiaryEntryButton/<>c__DisplayClass9_1::<TryGettingBackgroundImageProvider>b__3(Terraria.GameContent.Bestiary.IPreferenceProviderElement)
222
223 ---> System.Exception: Basic block has to end with unconditional control flow.
224{
225 Block_0:
226 stloc:IBestiaryBackgroundImagePathAndColorProvider(var_0_06, ldfld:IBestiaryBackgroundImagePathAndColorProvider('<>c__DisplayClass9_1'::provider, ldloc:'<>c__DisplayClass9_1'(this)))
227}
228
229 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
230 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
231 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
232 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
233 --- End of inner exception stack trace ---
234 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
235 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
236*/;
237 }
238
239 // Token: 0x040088E3 RID: 35043
241 }
242
243 // Token: 0x02000A97 RID: 2711
245 [Serializable]
246 private sealed class <>c
247 {
248 // Token: 0x06005002 RID: 20482 RVA: 0x0027C138 File Offset: 0x0027A338
249 // Note: this type is marked as 'beforefieldinit'.
250 static <>c()
251 {
252 }
253
254 // Token: 0x06005003 RID: 20483 RVA: 0x0027C148 File Offset: 0x0027A348
255 public <>c()
256 {
257 }
258
259 // Token: 0x06005004 RID: 20484 RVA: 0x000021DB File Offset: 0x000003DB
261 {
262 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
263 }
264
265 // Token: 0x06005005 RID: 20485 RVA: 0x000021DB File Offset: 0x000003DB
267 {
268 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
269 }
270
271 // Token: 0x06005006 RID: 20486 RVA: 0x000021DB File Offset: 0x000003DB
273 {
274 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
275 }
276
277 // Token: 0x040088E4 RID: 35044
278 public static readonly UIBestiaryEntryButton.<>c <>9;
279
280 // Token: 0x040088E5 RID: 35045
282
283 // Token: 0x040088E6 RID: 35046
285
286 // Token: 0x040088E7 RID: 35047
288 }
289 }
290}
class f__AnonymousType0<< Count > j__TPar
void MouseOut(UIMouseEvent evt, UIElement listeningElement)
Asset< Texture2D > TryGettingBackgroundImageProvider(BestiaryEntry entry)
UIBestiaryEntryButton(BestiaryEntry entry, bool isAPrettyPortrait)
void MouseOver(UIMouseEvent evt, UIElement listeningElement)
void Append(UIElement element)
Definition UIElement.cs:412
void RemoveChild(UIElement child)
Definition UIElement.cs:429