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
TeleportPylonsSystem.cs
Go to the documentation of this file.
1using System;
7
9{
10 // Token: 0x020007F3 RID: 2035
12 {
13 // Token: 0x170007C1 RID: 1985
14 // (get) Token: 0x06004171 RID: 16753 RVA: 0x00247B30 File Offset: 0x00245D30
16 {
17 get
18 {
19 return this._pylons;
20 }
21 }
22
23 // Token: 0x06004172 RID: 16754 RVA: 0x00247B44 File Offset: 0x00245D44
33
34 // Token: 0x06004173 RID: 16755 RVA: 0x00247B78 File Offset: 0x00245D78
36 {
37 /*
38An exception occurred when decompiling this method (06004173)
39
40ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.TeleportPylonsSystem::HasPylonOfType(Terraria.GameContent.TeleportPylonType)
41
42 ---> System.Exception: Basic block has to end with unconditional control flow.
43{
44 Block_0:
45 stloc:class [mscorlib]System.Collections.Generic.List`1<valuetype Terraria.GameContent.TeleportPylonInfo>(var_0_06, ldfld:class [mscorlib]System.Collections.Generic.List`1<valuetype Terraria.GameContent.TeleportPylonInfo>(TeleportPylonsSystem::_pylons, ldloc:TeleportPylonsSystem(this)))
46}
47
48 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
49 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
50 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
51 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
52 --- End of inner exception stack trace ---
53 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
54 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
55*/;
56 }
57
58 // Token: 0x06004174 RID: 16756 RVA: 0x00247B8C File Offset: 0x00245D8C
59 public bool HasAnyPylon()
60 {
61 /*
62An exception occurred when decompiling this method (06004174)
63
64ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.TeleportPylonsSystem::HasAnyPylon()
65
66 ---> System.Exception: Basic block has to end with unconditional control flow.
67{
68 Block_0:
69 stloc:int32(var_0_0B, ldfld:int32(List`1::_size, ldfld:class [mscorlib]System.Collections.Generic.List`1<valuetype Terraria.GameContent.TeleportPylonInfo>[exp:List`1](TeleportPylonsSystem::_pylons, ldloc:TeleportPylonsSystem(this))))
70}
71
72 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
73 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
74 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
75 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
76 --- End of inner exception stack trace ---
77 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
78 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
79*/;
80 }
81
82 // Token: 0x06004175 RID: 16757 RVA: 0x00247BA4 File Offset: 0x00245DA4
84 {
85 if (!true)
86 {
87 }
89 }
90
91 // Token: 0x06004176 RID: 16758 RVA: 0x00247BCC File Offset: 0x00245DCC
93 {
94 if (!true)
95 {
96 }
97 }
98
99 // Token: 0x06004177 RID: 16759 RVA: 0x000021DB File Offset: 0x000003DB
101 {
102 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
103 }
104
105 // Token: 0x06004178 RID: 16760 RVA: 0x00247C5C File Offset: 0x00245E5C
110
111 // Token: 0x06004179 RID: 16761 RVA: 0x00247C70 File Offset: 0x00245E70
113 {
114 int num = 1;
115 if (num == 0)
116 {
117 }
118 if (num == 0)
119 {
120 }
121 int num2 = 1;
122 bool flag = NPC.AnyDanger(false, num2 != 0);
123 }
124
125 // Token: 0x0600417A RID: 16762 RVA: 0x00247D0C File Offset: 0x00245F0C
126 public static bool IsPlayerNearAPylon(Player player)
127 {
128 if (15744 == 0)
129 {
130 }
131 int tileRangeX = Player.tileRangeX;
132 int tileRangeY = Player.tileRangeY;
133 int num = 15744;
134 int num2 = 32640;
135 if (num == 0)
136 {
137 }
138 if (num2 == 0)
139 {
140 return;
141 }
142 }
143
144 // Token: 0x0600417B RID: 16763 RVA: 0x00247D54 File Offset: 0x00245F54
146 {
147 bool flag;
148 return flag;
149 }
150
151 // Token: 0x0600417C RID: 16764 RVA: 0x00247D64 File Offset: 0x00245F64
153 {
154 int num = 1;
155 if (num == 0)
156 {
157 }
158 if (num == 0)
159 {
160 }
161 if (num != 0 && num == 0)
162 {
163 if (num == 0)
164 {
165 }
166 return;
167 }
168 }
169
170 // Token: 0x0600417D RID: 16765 RVA: 0x00247D90 File Offset: 0x00245F90
172 {
173 if (!true)
174 {
175 }
176 }
177
178 // Token: 0x0600417E RID: 16766 RVA: 0x00247DA0 File Offset: 0x00245FA0
180 {
181 int num = 1;
182 if (num == 0)
183 {
184 }
185 if (num == 0)
186 {
187 }
188 bool inUse;
189 if (Main.DroneCameraTracker != null)
190 {
191 if (num == 0)
192 {
193 }
195 if (inUse)
196 {
197 }
198 }
199 if (!inUse)
200 {
201 }
203 }
204
205 // Token: 0x0600417F RID: 16767 RVA: 0x000021DB File Offset: 0x000003DB
207 {
208 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
209 }
210
211 // Token: 0x06004180 RID: 16768 RVA: 0x00247E00 File Offset: 0x00246000
212 public void Reset()
213 {
215 int version = pylons._version;
216 pylons._syncRoot = version;
217 }
218
219 // Token: 0x06004181 RID: 16769 RVA: 0x00247E24 File Offset: 0x00246024
221 {
223 if (!true)
224 {
225 }
226 }
227
228 // Token: 0x06004182 RID: 16770 RVA: 0x00247E58 File Offset: 0x00246058
230 {
231 }
232
233 // Token: 0x06004183 RID: 16771 RVA: 0x00247E70 File Offset: 0x00246070
235 {
236 }
237
238 // Token: 0x04007F07 RID: 32519
240
241 // Token: 0x04007F08 RID: 32520
243
244 // Token: 0x04007F09 RID: 32521
246
247 // Token: 0x04007F0A RID: 32522
248 private const int CooldownTimePerPylonsListUpdate = 2147483647;
249
250 // Token: 0x04007F0B RID: 32523
252
253 // Token: 0x020007F4 RID: 2036
255 private sealed class <>c__DisplayClass8_0
256 {
257 // Token: 0x06004184 RID: 16772 RVA: 0x00247E88 File Offset: 0x00246088
259 {
260 }
261
262 // Token: 0x06004185 RID: 16773 RVA: 0x00247E9C File Offset: 0x0024609C
264 {
265 /*
266An exception occurred when decompiling this method (06004185)
267
268ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.TeleportPylonsSystem/<>c__DisplayClass8_0::<HasPylonOfType>b__0(Terraria.GameContent.TeleportPylonInfo)
269
270 ---> System.Exception: Basic block has to end with unconditional control flow.
271{
272 Block_0:
273 stloc:TeleportPylonType(var_0_06, ldfld:TeleportPylonType('<>c__DisplayClass8_0'::pylonType, ldloc:'<>c__DisplayClass8_0'(this)))
274}
275
276 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
277 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
278 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
279 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
280 --- End of inner exception stack trace ---
281 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
282 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
283*/;
284 }
285
286 // Token: 0x04007F0C RID: 32524
288 }
289
290 // Token: 0x020007F5 RID: 2037
292 private sealed class <>c__DisplayClass13_0
293 {
294 // Token: 0x06004186 RID: 16774 RVA: 0x00247EB0 File Offset: 0x002460B0
296 {
297 }
298
299 // Token: 0x06004187 RID: 16775 RVA: 0x00247EC4 File Offset: 0x002460C4
300 internal bool <RemoveForClient>b__0(TeleportPylonInfo x)
301 {
302 TeleportPylonType typeOfPylon = this.info.TypeOfPylon;
303 TeleportPylonInfo teleportPylonInfo = this.info;
304 bool flag;
305 return flag;
306 }
307
308 // Token: 0x04007F0D RID: 32525
309 public TeleportPylonInfo info;
310 }
311 }
312}
class f__AnonymousType0<< Count > j__TPar
void HandleTeleportRequest(TeleportPylonInfo info, int playerIndex)
void RequestTeleportation(TeleportPylonInfo info, Player player)
int HowManyNPCsDoesPylonNeed(TeleportPylonInfo info, Player player)
static bool DoesPositionHaveEnoughNPCs(int necessaryNPCCount, Point16 centerPoint)
bool DoesPylonAcceptTeleportation(TeleportPylonInfo info, Player player)
bool DoesPylonHaveEnoughNPCsAroundIt(TeleportPylonInfo info, int necessaryNPCCount)
bool HasPylonOfType(TeleportPylonType pylonType)
static void SpawnInWorldDust(int tileStyle, Rectangle dustBox)
static bool NetClientOnly
Definition Main.cs:5407
static DroneCameraTracker DroneCameraTracker
Definition Main.cs:2631
static bool AnyDanger(bool quickBossNPCCheck=false, bool ignorePillarsAndMoonlordCountdown=false)
Definition NPC.cs:6409
static int tileRangeX
Definition Player.cs:38
static int tileRangeY
Definition Player.cs:52