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
TrackedProjectileReference.cs
Go to the documentation of this file.
1using System;
2using System.IO;
5
7{
8 // Token: 0x02000681 RID: 1665
10 {
11 // Token: 0x170006B9 RID: 1721
12 // (get) Token: 0x06003791 RID: 14225 RVA: 0x000021DB File Offset: 0x000003DB
13 // (set) Token: 0x06003792 RID: 14226 RVA: 0x00221DD8 File Offset: 0x0021FFD8
15 {
17 readonly get
18 {
19 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
20 }
22 private set
23 {
25 }
26 }
27
28 // Token: 0x170006BA RID: 1722
29 // (get) Token: 0x06003793 RID: 14227 RVA: 0x00221DEC File Offset: 0x0021FFEC
30 // (set) Token: 0x06003794 RID: 14228 RVA: 0x00221E00 File Offset: 0x00220000
32 {
34 readonly get
35 {
37 }
39 private set
40 {
42 }
43 }
44
45 // Token: 0x170006BB RID: 1723
46 // (get) Token: 0x06003795 RID: 14229 RVA: 0x00221E14 File Offset: 0x00220014
47 // (set) Token: 0x06003796 RID: 14230 RVA: 0x00221E28 File Offset: 0x00220028
49 {
51 readonly get
52 {
54 }
56 private set
57 {
59 }
60 }
61
62 // Token: 0x170006BC RID: 1724
63 // (get) Token: 0x06003797 RID: 14231 RVA: 0x00221E3C File Offset: 0x0022003C
64 // (set) Token: 0x06003798 RID: 14232 RVA: 0x00221E50 File Offset: 0x00220050
65 public int ProjectileType
66 {
68 readonly get
69 {
71 }
73 private set
74 {
76 }
77 }
78
79 // Token: 0x170006BD RID: 1725
80 // (get) Token: 0x06003799 RID: 14233 RVA: 0x00221E64 File Offset: 0x00220064
81 // (set) Token: 0x0600379A RID: 14234 RVA: 0x00221E78 File Offset: 0x00220078
83 {
85 readonly get
86 {
88 }
90 private set
91 {
92 }
93 }
94
95 // Token: 0x0600379B RID: 14235 RVA: 0x00221E88 File Offset: 0x00220088
96 public void Set(Projectile proj)
97 {
98 int whoAmI = proj.whoAmI;
100 int owner = proj.owner;
101 this.<ProjectileOwnerIndex>k__BackingField = owner;
102 int identity = proj.identity;
103 this.<ProjectileIdentity>k__BackingField = identity;
104 int type = proj.type;
105 this.<IsTrackingSomething>k__BackingField = true;
106 this.<ProjectileType>k__BackingField = type;
107 }
108
109 // Token: 0x0600379C RID: 14236 RVA: 0x00221ED4 File Offset: 0x002200D4
110 public void Clear()
111 {
112 }
113
114 // Token: 0x0600379D RID: 14237 RVA: 0x00221EE4 File Offset: 0x002200E4
115 public void Write(BinaryWriter writer)
116 {
121 }
122
123 // Token: 0x0600379E RID: 14238 RVA: 0x00221F10 File Offset: 0x00220110
125 {
126 /*
127An exception occurred when decompiling this method (0600379E)
128
129ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.DataStructures.TrackedProjectileReference::IsTracking(Terraria.Projectile)
130
131 ---> System.Exception: Basic block has to end with unconditional control flow.
132{
133 Block_0:
134 stloc:int32(var_0_06, ldfld:int32(Entity::whoAmI, ldloc:Projectile[exp:Entity](proj)))
135}
136
137 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
138 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
139 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
140 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
141 --- End of inner exception stack trace ---
142 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
143 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
144*/;
145 }
146
147 // Token: 0x0600379F RID: 14239 RVA: 0x00221F24 File Offset: 0x00220124
148 public void TryReading(BinaryReader reader)
149 {
150 Projectile projectile;
151 int type;
152 if (projectile != null)
153 {
154 int whoAmI = projectile.whoAmI;
156 int owner = projectile.owner;
157 this.<ProjectileOwnerIndex>k__BackingField = owner;
158 int identity = projectile.identity;
159 this.<ProjectileIdentity>k__BackingField = identity;
160 type = projectile.type;
161 this.<IsTrackingSomething>k__BackingField = true;
162 this.<ProjectileType>k__BackingField = type;
163 return;
164 }
166 this.<ProjectileIdentity>k__BackingField = type;
167 }
168
169 // Token: 0x060037A0 RID: 14240 RVA: 0x00221F88 File Offset: 0x00220188
171 {
172 if (!true)
173 {
174 return;
175 }
176 }
177
178 // Token: 0x060037A1 RID: 14241 RVA: 0x00221FA0 File Offset: 0x002201A0
179 public override bool Equals(object obj)
180 {
181 if (obj != null)
182 {
186 return;
187 }
188 }
189
190 // Token: 0x060037A2 RID: 14242 RVA: 0x00221FC8 File Offset: 0x002201C8
192 {
193 /*
194An exception occurred when decompiling this method (060037A2)
195
196ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.DataStructures.TrackedProjectileReference::Equals(Terraria.DataStructures.TrackedProjectileReference)
197
198 ---> System.Exception: Basic block has to end with unconditional control flow.
199{
200 Block_0:
201 stloc:int32(var_0_06, ldfld:int32(TrackedProjectileReference::<ProjectileOwnerIndex>k__BackingField, ldloc:valuetype Terraria.DataStructures.TrackedProjectileReference&(this)))
202 stloc:int32(var_1_0D, ldfld:int32(TrackedProjectileReference::<ProjectileOwnerIndex>k__BackingField, ldloc:TrackedProjectileReference[exp:valuetype Terraria.DataStructures.TrackedProjectileReference&](other)))
203 stloc:int32(var_2_14, ldfld:int32(TrackedProjectileReference::<ProjectileIdentity>k__BackingField, ldloc:valuetype Terraria.DataStructures.TrackedProjectileReference&(this)))
204 stloc:int32(var_3_1B, ldfld:int32(TrackedProjectileReference::<ProjectileIdentity>k__BackingField, ldloc:TrackedProjectileReference[exp:valuetype Terraria.DataStructures.TrackedProjectileReference&](other)))
205 stloc:int32(var_4_22, ldfld:int32(TrackedProjectileReference::<ProjectileType>k__BackingField, ldloc:valuetype Terraria.DataStructures.TrackedProjectileReference&(this)))
206 stloc:int32(var_5_2A, ldfld:int32(TrackedProjectileReference::<ProjectileType>k__BackingField, ldloc:TrackedProjectileReference[exp:valuetype Terraria.DataStructures.TrackedProjectileReference&](other)))
207}
208
209 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
210 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
211 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
212 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
213 --- End of inner exception stack trace ---
214 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
215 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
216*/;
217 }
218
219 // Token: 0x060037A3 RID: 14243 RVA: 0x00222004 File Offset: 0x00220204
220 public override int GetHashCode()
221 {
222 /*
223An exception occurred when decompiling this method (060037A3)
224
225ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.DataStructures.TrackedProjectileReference::GetHashCode()
226
227 ---> System.Exception: Basic block has to end with unconditional control flow.
228{
229 Block_0:
230 stloc:int32(var_0_06, ldfld:int32(TrackedProjectileReference::<ProjectileLocalIndex>k__BackingField, ldloc:valuetype Terraria.DataStructures.TrackedProjectileReference&(this)))
231 stloc:int32(var_1_0D, ldfld:int32(TrackedProjectileReference::<ProjectileIdentity>k__BackingField, ldloc:valuetype Terraria.DataStructures.TrackedProjectileReference&(this)))
232 stloc:int32(var_2_14, ldfld:int32(TrackedProjectileReference::<ProjectileIdentity>k__BackingField, ldloc:valuetype Terraria.DataStructures.TrackedProjectileReference&(this)))
233 stloc:bool(var_3_1B, ldfld:bool(TrackedProjectileReference::<IsTrackingSomething>k__BackingField, ldloc:valuetype Terraria.DataStructures.TrackedProjectileReference&(this)))
234}
235
236 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
237 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
238 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
239 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
240 --- End of inner exception stack trace ---
241 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
242 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
243*/;
244 }
245
246 // Token: 0x060037A4 RID: 14244 RVA: 0x0022202C File Offset: 0x0022022C
248 {
249 /*
250An exception occurred when decompiling this method (060037A4)
251
252ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.DataStructures.TrackedProjectileReference::op_Equality(Terraria.DataStructures.TrackedProjectileReference,Terraria.DataStructures.TrackedProjectileReference)
253
254 ---> System.Exception: Basic block has to end with unconditional control flow.
255{
256 Block_0:
257 stloc:int32(var_0_06, ldfld:int32(TrackedProjectileReference::<ProjectileOwnerIndex>k__BackingField, ldloc:TrackedProjectileReference[exp:valuetype Terraria.DataStructures.TrackedProjectileReference&](c1)))
258 stloc:int32(var_1_0D, ldfld:int32(TrackedProjectileReference::<ProjectileIdentity>k__BackingField, ldloc:TrackedProjectileReference[exp:valuetype Terraria.DataStructures.TrackedProjectileReference&](c1)))
259 stloc:int32(var_2_14, ldfld:int32(TrackedProjectileReference::<ProjectileType>k__BackingField, ldloc:TrackedProjectileReference[exp:valuetype Terraria.DataStructures.TrackedProjectileReference&](c1)))
260}
261
262 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
263 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
264 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
265 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
266 --- End of inner exception stack trace ---
267 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
268 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
269*/;
270 }
271
272 // Token: 0x060037A5 RID: 14245 RVA: 0x00222050 File Offset: 0x00220250
280
281 // Token: 0x04007895 RID: 30869
283 private int <ProjectileLocalIndex>k__BackingField;
284
285 // Token: 0x04007896 RID: 30870
287 private int <ProjectileOwnerIndex>k__BackingField;
288
289 // Token: 0x04007897 RID: 30871
291 private int <ProjectileIdentity>k__BackingField;
292
293 // Token: 0x04007898 RID: 30872
295 private int <ProjectileType>k__BackingField;
296
297 // Token: 0x04007899 RID: 30873
299 private bool <IsTrackingSomething>k__BackingField;
300 }
301}
class f__AnonymousType0<< Count > j__TPar
static bool operator==(TrackedProjectileReference c1, TrackedProjectileReference c2)
static bool operator!=(TrackedProjectileReference c1, TrackedProjectileReference c2)
Projectile FindMatchingProjectile(int expectedOwner, int expectedIdentity, int expectedType)