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
TEDisplayDoll.cs
Go to the documentation of this file.
1using System;
2using System.IO;
11using Terraria.UI;
12
14{
15 // Token: 0x0200080F RID: 2063
17 {
18 // Token: 0x060041EC RID: 16876 RVA: 0x002490F4 File Offset: 0x002472F4
20 {
21 if (!true)
22 {
23 }
24 base..ctor();
25 Item[] items = this._items;
26 Item[] dyes = this._dyes;
27 if (15 == 0)
28 {
29 }
30 int num = 10;
32 }
33
34 // Token: 0x060041ED RID: 16877 RVA: 0x00249140 File Offset: 0x00247340
35 public override void RegisterTileEntityID(int assignedID)
36 {
37 if (!true)
38 {
39 }
40 }
41
42 // Token: 0x060041EE RID: 16878 RVA: 0x000021DB File Offset: 0x000003DB
43 public override TileEntity GenerateInstance()
44 {
45 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
46 }
47
48 // Token: 0x060041EF RID: 16879 RVA: 0x00249150 File Offset: 0x00247350
49 public override void NetPlaceEntityAttempt(int x, int y)
50 {
51 if (!true)
52 {
53 }
54 int num = TEDisplayDoll.Place(x, y);
55 }
56
57 // Token: 0x060041F0 RID: 16880 RVA: 0x00249168 File Offset: 0x00247368
58 public static int Place(int x, int y)
59 {
60 if (!true)
61 {
62 }
63 int num = TileEntity.AssignNewID();
64 if (!true)
65 {
66 }
67 Monitor.Enter(x, x != 0);
68 long num2 = 0L;
69 Monitor.Exit(x);
70 if (num2 == 0L)
71 {
72 return x;
73 }
74 throw new OutOfMemoryException();
75 }
76
77 // Token: 0x060041F1 RID: 16881 RVA: 0x002491B8 File Offset: 0x002473B8
78 public static int Hook_AfterPlacement(int x, int y, int type = 470, int style = 0, int direction = 1, int alternate = 0)
79 {
80 int num = 1;
81 if (num == 0)
82 {
83 }
85 if (num == 0)
86 {
87 }
88 int myPlayer = Main.myPlayer;
89 return 87;
90 }
91
92 // Token: 0x060041F2 RID: 16882 RVA: 0x002491FC File Offset: 0x002473FC
93 public static void Kill(int x, int y)
94 {
95 if (!true)
96 {
97 }
98 int key = TileEntity.GetKey(x, y);
99 if (!true)
100 {
101 }
102 if (!true)
103 {
104 }
105 int key2 = TileEntity.GetKey(x, y);
106 if (!false)
107 {
108 return;
109 }
110 throw new OutOfMemoryException();
111 }
112
113 // Token: 0x060041F3 RID: 16883 RVA: 0x00249248 File Offset: 0x00247448
114 public static int Find(int x, int y)
115 {
116 /*
117An exception occurred when decompiling this method (060041F3)
118
119ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.GameContent.Tile_Entities.TEDisplayDoll::Find(System.Int32,System.Int32)
120
121 ---> System.Exception: Basic block has to end with unconditional control flow.
122{
123 IL_0003:
124 stloc:int32(var_0_0E, call:int32(TileEntity::GetKey, ldc.i4:int32(-2147483648), ldloc:int32(x)))
125}
126
127 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
128 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
129 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
130 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
131 --- End of inner exception stack trace ---
132 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
133 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
134*/;
135 }
136
137 // Token: 0x060041F4 RID: 16884 RVA: 0x00249264 File Offset: 0x00247464
138 public override void WriteExtraData(BinaryWriter writer, bool networkSend)
139 {
140 BitsByte bitsByte = 0;
141 Vector2 position = this._items.position;
142 Vector2 velocity = this._items.velocity;
143 Vector2 oldPosition = this._items.oldPosition;
144 Vector2 oldVelocity = this._items.oldVelocity;
145 int width = this._items.width;
146 bool wet = this._items.wet;
147 Item[] items = this._items;
148 bool flag;
149 BitsByte bitsByte2 = (flag ? 1 : 0);
150 Item[] dyes = this._dyes;
151 Vector2 position2 = dyes.position;
153 Item[] dyes2 = this._dyes;
155 int oldDirection = this._dyes.oldDirection;
156 int width2 = this._dyes.width;
157 bool wet2 = this._dyes.wet;
158 string nameOverride = this._dyes._nameOverride;
159 Item[] items2 = this._items;
160 Item[] dyes3 = this._dyes;
161 }
162
163 // Token: 0x060041F5 RID: 16885 RVA: 0x00249384 File Offset: 0x00247584
164 public override void ReadExtraData(BinaryReader reader, bool networkSend)
165 {
166 Item[] items = this._items;
167 Item[] items2 = this._items;
168 Item[] dyes = this._dyes;
169 Item[] dyes2 = this._dyes;
170 }
171
172 // Token: 0x060041F6 RID: 16886 RVA: 0x002493C4 File Offset: 0x002475C4
173 public override string ToString()
174 {
175 Point16 position = this.Position;
176 string text;
177 if ((text == null || text != null) && ("x " == null || "x " != null))
178 {
179 short y = this.Position.Y;
180 string text2;
181 if ((text2 == null || text2 != null) && ("y item: " == null || "y item: " != null))
182 {
184 if (position2 == null || position2 == null || position2 == null)
185 {
186 }
187 if (" " == null || " " != null)
188 {
189 Vector2 velocity = this._items.velocity;
190 if (velocity == null || velocity == null || velocity == null)
191 {
192 }
193 if (" " == null || " " != null)
194 {
195 Vector2 oldPosition = this._items.oldPosition;
196 if (oldPosition == null || oldPosition == null || oldPosition != null)
197 {
198 string text3;
199 return text3;
200 }
201 }
202 }
203 }
204 }
205 throw new ArrayTypeMismatchException();
206 }
207
208 // Token: 0x060041F7 RID: 16887 RVA: 0x00249488 File Offset: 0x00247688
209 public static void Framing_CheckTile(int callX, int callY)
210 {
211 int num = 1;
212 if (num == 0)
213 {
214 }
215 if (num == 0)
216 {
217 short frameX = Framing.GetTileSafely(callX, callY).frameX;
218 int num2 = 36409;
219 if (num == 0)
220 {
221 }
222 Tile tile;
223 bool flag = tile.active();
224 if (num == 0)
225 {
226 }
227 bool flag2 = WorldGen.SolidTileAllowBottomSlope(43134976, 43134976);
228 if (num == 0)
229 {
230 }
231 bool flag3 = WorldGen.SolidTileAllowBottomSlope(0, 43134976);
233 if (!false)
234 {
235 }
236 Tile tile2;
237 short frameX2 = tile2.frameX;
238 int num3 = 1989;
239 if (num3 == 0)
240 {
241 }
242 if (num3 == 0)
243 {
244 }
245 Tile tile3;
246 bool flag4 = tile3.active();
247 if (num3 == 0)
248 {
249 }
250 Tile tile4;
251 ushort type = tile4.type;
252 if (num3 == 0)
253 {
254 }
255 long num4 = 0L;
256 long num5 = 0L;
257 long num6 = 0L;
258 WorldGen.KillTile(43134976, num2, num4 != 0L, num5 != 0L, num6 != 0L);
259 if (num3 == 0)
260 {
261 }
262 }
263 }
264
265 // Token: 0x060041F8 RID: 16888 RVA: 0x0024955C File Offset: 0x0024775C
266 public void Draw(int tileLeftX, int tileTopY)
267 {
269 Item[] items = this._items;
270 Item[] armor = dollPlayer.armor;
271 Item[] dyes = this._dyes;
272 Item[] dye = dollPlayer.dye;
273 int num = 1;
274 int num2 = 1;
275 dollPlayer.Male = num != 0;
278 long num3 = 0L;
279 dollPlayer.Male = num3 != 0L;
280 int num4 = 1;
282 dollPlayer.ResetEffects();
283 dollPlayer.ResetVisibleAccessories();
284 dollPlayer.UpdateDyes();
285 dollPlayer.DisplayDollUpdate();
286 dollPlayer.UpdateSocialShadow();
287 dollPlayer.PlayerFrame();
288 int width = dollPlayer.width;
289 bool wet = dollPlayer.wet;
290 dollPlayer.isFullbright = width != 0;
291 if (!wet)
292 {
293 }
294 int num5;
296 if (-1073741824 == 0)
297 {
298 }
299 Camera camera = Main.Camera;
300 float x = dollPlayer.position.X;
301 float y = dollPlayer.position.Y;
302 float x2 = dollPlayer.fullRotationOrigin.X;
303 float y2 = dollPlayer.fullRotationOrigin.Y;
304 if (wet)
305 {
306 }
307 }
308
309 // Token: 0x060041F9 RID: 16889 RVA: 0x00249674 File Offset: 0x00247874
310 public override void OnPlayerUpdate(Player player)
311 {
312 int x = player.tileEntityAnchor.X;
313 int y = player.tileEntityAnchor.Y;
315 int chest = player.chest;
316 int talkNPC = player.talkNPC;
317 }
318
319 // Token: 0x060041FA RID: 16890 RVA: 0x002496C8 File Offset: 0x002478C8
320 public static void OnPlayerInteraction(Player player, int clickX, int clickY)
321 {
322 if (!true)
323 {
324 }
325 Tile tile;
326 short frameX = tile.frameX;
327 Tile tile2;
328 short frameY = tile2.frameY;
329 int num = TEDisplayDoll.Find(clickX, int.MinValue);
330 if (frameY == 0)
331 {
332 }
333 if (frameY == 0)
334 {
335 }
336 TileEntity.BasicOpenCloseInteraction(player, clickX, int.MinValue, num);
337 }
338
339 // Token: 0x060041FB RID: 16891 RVA: 0x0024970C File Offset: 0x0024790C
340 public override bool TryGetItemGamepadOverrideInstructions(Item[] inv, int context, int slot, [Out] string instruction)
341 {
342 bool flag;
343 if (flag)
344 {
345 }
346 if (context == 0)
347 {
348 return;
349 }
350 if (!flag)
351 {
352 }
353 int myPlayer = Main.myPlayer;
356 if (!flag)
357 {
358 return;
359 }
360 }
361
362 // Token: 0x060041FC RID: 16892 RVA: 0x0024973C File Offset: 0x0024793C
363 private void DrawInner(Player player, SpriteBatch spriteBatch)
364 {
365 if (!true)
366 {
367 }
368 }
369
370 // Token: 0x060041FD RID: 16893 RVA: 0x00249750 File Offset: 0x00247950
371 private void DrawSlotPairSet(Player player, SpriteBatch spriteBatch, int slotsToShowLine, int slotsArrayOffset, float offsetX, float offsetY, int inventoryContextTarget)
372 {
373 if (16992 == 0)
374 {
375 }
376 float inventoryScale = Main.inventoryScale;
378 int num = 40;
379 if (num == 0)
380 {
381 }
382 int mouseX = Main.mouseX;
383 int mouseY = Main.mouseY;
384 if (num == 0)
385 {
386 }
390 }
391
392 // Token: 0x060041FE RID: 16894 RVA: 0x002497C4 File Offset: 0x002479C4
393 public override bool OverrideItemSlotHover(Item[] inv, int context = 0, int slot = 0)
394 {
395 /*
396An exception occurred when decompiling this method (060041FE)
397
398ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Tile_Entities.TEDisplayDoll::OverrideItemSlotHover(Terraria.Item[],System.Int32,System.Int32)
399
400 ---> System.Exception: Basic block has to end with unconditional control flow.
401{
402 Block_1:
403 callsetter:int32(Main::set_cursorOverride, ldc.i4:int32(9))
404}
405
406 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
407 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
408 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
409 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
410 --- End of inner exception stack trace ---
411 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
412 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
413*/;
414 }
415
416 // Token: 0x060041FF RID: 16895 RVA: 0x002497FC File Offset: 0x002479FC
417 public override bool OverrideItemSlotLeftClick(Item[] inv, int context = 0, int slot = 0)
418 {
419 Item item;
420 do
421 {
422 int num = 1;
423 if (num == 0)
424 {
425 }
427 if (num == 0)
428 {
429 }
430 int cursorOverride = Main.cursorOverride;
431 if (context == 0)
432 {
433 }
435 int myPlayer = Main.myPlayer;
436 int myPlayer2 = Main.myPlayer;
437 if (item != null && item == null)
438 {
439 goto IL_0092;
440 }
441 bool netClient = Main.NetClient;
442 int myPlayer3 = Main.myPlayer;
443 int id = this.ID;
444 int headSlot = item.headSlot;
445 int bodySlot = item.bodySlot;
446 int legSlot = item.legSlot;
447 }
448 while (!item.accessory);
449 bool flag;
450 return flag;
451 IL_0092:
452 throw new ArrayTypeMismatchException();
453 }
454
455 // Token: 0x06004200 RID: 16896 RVA: 0x002498A0 File Offset: 0x00247AA0
456 public static bool FitsDisplayDoll(Item item)
457 {
458 return true;
459 }
460
461 // Token: 0x06004201 RID: 16897 RVA: 0x002498B4 File Offset: 0x00247AB4
462 private bool TryFitting(Item[] inv, int context = 0, int slot = 0, bool justCheck = false)
463 {
464 int headSlot = inv.headSlot;
465 int bodySlot = inv.bodySlot;
466 int legSlot = inv.legSlot;
467 bool accessory = inv.accessory;
468 int num = 2;
469 if (!accessory || headSlot == 0)
470 {
471 }
472 bool accessory2 = inv.accessory;
473 int num2;
474 if (accessory2)
475 {
476 if (!accessory2)
477 {
478 }
479 if (num == 0)
480 {
481 }
482 num2 = 3;
483 Item[] items = this._items;
484 Item[] items2 = this._items;
485 bool flag;
486 return flag;
487 }
488 Item[] items3 = this._items;
489 int num3;
490 if (num3 == 0)
491 {
492 }
493 if (num3 == 0)
494 {
495 }
496 bool netClient = Main.NetClient;
497 if (num3 == 0)
498 {
499 }
500 int myPlayer = Main.myPlayer;
501 int id = this.ID;
502 if (num2 == 0)
503 {
504 goto IL_00A8;
505 }
506 goto IL_00A8;
507 IL_00A8:;
508 }
509
510 // Token: 0x06004202 RID: 16898 RVA: 0x00249970 File Offset: 0x00247B70
511 public void WriteItem(int itemIndex, BinaryWriter writer, bool dye)
512 {
513 }
514
515 // Token: 0x06004203 RID: 16899 RVA: 0x00249980 File Offset: 0x00247B80
516 public void ReadItem(int itemIndex, BinaryReader reader, bool dye)
517 {
518 }
519
520 // Token: 0x06004204 RID: 16900 RVA: 0x00249990 File Offset: 0x00247B90
521 public override bool IsTileValidForEntity(int x, int y)
522 {
523 /*
524An exception occurred when decompiling this method (06004204)
525
526ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Tile_Entities.TEDisplayDoll::IsTileValidForEntity(System.Int32,System.Int32)
527
528 ---> System.Exception: Basic block has to end with unconditional control flow.
529{
530 IL_0029:
531 stloc:int16(var_9_30, callgetter:int16(Tile::get_frameX, ldloc:Tile[exp:valuetype Terraria.Tile&](var_8)))
532}
533
534 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
535 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
536 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
537 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
538 --- End of inner exception stack trace ---
539 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
540 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
541*/;
542 }
543
544 // Token: 0x06004205 RID: 16901 RVA: 0x002499D0 File Offset: 0x00247BD0
545 public void SetInventoryFromMannequin(int headFrame, int shirtFrame, int legFrame)
546 {
547 Vector2 position = this._items.position;
548 Vector2 velocity = this._items.velocity;
549 Vector2 oldPosition = this._items.oldPosition;
550 }
551
552 // Token: 0x06004206 RID: 16902 RVA: 0x00249A04 File Offset: 0x00247C04
553 public static bool IsBreakable(int clickX, int clickY)
554 {
555 if (!true)
556 {
557 }
558 Tile tile;
559 short frameX = tile.frameX;
560 Tile tile2;
561 short frameY = tile2.frameY;
562 int num = TEDisplayDoll.Find(0, clickX);
563 if (frameY == 0)
564 {
565 }
566 bool flag;
567 return flag;
568 }
569
570 // Token: 0x06004207 RID: 16903 RVA: 0x00249A40 File Offset: 0x00247C40
571 public bool ContainsItems()
572 {
573 /*
574An exception occurred when decompiling this method (06004207)
575
576ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Tile_Entities.TEDisplayDoll::ContainsItems()
577
578 ---> System.Exception: Basic block has to end with unconditional control flow.
579{
580 Block_0:
581 stloc:class Terraria.Item[](var_1_09, ldfld:class Terraria.Item[](TEDisplayDoll::_items, ldloc:TEDisplayDoll(this)))
582 stloc:class Terraria.Item[](var_3_10, ldfld:class Terraria.Item[](TEDisplayDoll::_dyes, ldloc:TEDisplayDoll(this)))
583}
584
585 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
586 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
587 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
588 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
589 --- End of inner exception stack trace ---
590 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
591 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
592*/;
593 }
594
595 // Token: 0x06004208 RID: 16904 RVA: 0x00249A64 File Offset: 0x00247C64
596 public void FixLoadedData()
597 {
598 long entityId = this._items.entityId;
599 long entityId2 = this._dyes.entityId;
600 }
601
602 // Token: 0x06004209 RID: 16905 RVA: 0x00249A90 File Offset: 0x00247C90
603 // Note: this type is marked as 'beforefieldinit'.
605 {
606 }
607
608 // Token: 0x040080B2 RID: 32946
609 private static byte _myEntityID;
610
611 // Token: 0x040080B3 RID: 32947
612 private const int MyTileID = 470;
613
614 // Token: 0x040080B4 RID: 32948
615 private const int entityTileWidth = 2;
616
617 // Token: 0x040080B5 RID: 32949
618 private const int entityTileHeight = 3;
619
620 // Token: 0x040080B6 RID: 32950
622
623 // Token: 0x040080B7 RID: 32951
624 public Item[] _items;
625
626 // Token: 0x040080B8 RID: 32952
627 public Item[] _dyes;
628
629 // Token: 0x040080B9 RID: 32953
630 private static int accessoryTargetSlot;
631 }
632}
class f__AnonymousType0<< Count > j__TPar
static void Exit(object obj)
Definition Monitor.cs:47
static void Enter(object obj)
Definition Monitor.cs:11
static void BasicOpenCloseInteraction(Player player, int x, int y, int id)
static int GetKey(int x, int y)
Vector2 oldPosition
Definition Entity.cs:466
Vector2 velocity
Definition Entity.cs:463
Vector2 position
Definition Entity.cs:460
Vector2 oldVelocity
Definition Entity.cs:469
static Tile GetTileSafely(Vector2 position)
Definition Framing.cs:356
override void RegisterTileEntityID(int assignedID)
override bool OverrideItemSlotLeftClick(Item[] inv, int context=0, int slot=0)
bool TryFitting(Item[] inv, int context=0, int slot=0, bool justCheck=false)
void SetInventoryFromMannequin(int headFrame, int shirtFrame, int legFrame)
void Draw(int tileLeftX, int tileTopY)
static void Framing_CheckTile(int callX, int callY)
static void OnPlayerInteraction(Player player, int clickX, int clickY)
void ReadItem(int itemIndex, BinaryReader reader, bool dye)
override bool OverrideItemSlotHover(Item[] inv, int context=0, int slot=0)
static bool IsBreakable(int clickX, int clickY)
override bool TryGetItemGamepadOverrideInstructions(Item[] inv, int context, int slot, [Out] string instruction)
override void ReadExtraData(BinaryReader reader, bool networkSend)
override void NetPlaceEntityAttempt(int x, int y)
static int Hook_AfterPlacement(int x, int y, int type=470, int style=0, int direction=1, int alternate=0)
void DrawInner(Player player, SpriteBatch spriteBatch)
void DrawSlotPairSet(Player player, SpriteBatch spriteBatch, int slotsToShowLine, int slotsArrayOffset, float offsetX, float offsetY, int inventoryContextTarget)
void WriteItem(int itemIndex, BinaryWriter writer, bool dye)
override void WriteExtraData(BinaryWriter writer, bool networkSend)
string _nameOverride
Definition Item.cs:1955
static int myPlayer
Definition Main.cs:2337
static int cursorOverride
Definition Main.cs:3147
static bool NetClient
Definition Main.cs:5438
static bool NetClientOnly
Definition Main.cs:5407
static float inventoryScale
Definition Main.cs:2253
static Terraria.Graphics.Camera Camera
Definition Main.cs:296
static int mouseY
Definition Main.cs:601
static int mouseX
Definition Main.cs:587
PlayerInteractionAnchor tileEntityAnchor
Definition Player.cs:23135
static bool ShiftInUse
Definition ItemSlot.cs:41
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static bool SolidTileAllowBottomSlope(int i, int j)
short frameY
Definition Tile.cs:285
short frameX
Definition Tile.cs:244
bool active()
Definition Tile.cs:1241