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
PlayerSittingHelper.cs
Go to the documentation of this file.
1using System;
4
6{
7 // Token: 0x020007E4 RID: 2020
8 public struct PlayerSittingHelper
9 {
10 // Token: 0x06004105 RID: 16645 RVA: 0x00244448 File Offset: 0x00242648
11 public void GetSittingOffsetInfo(Player player, [Out] Vector2 posOffset, [Out] float seatAdjustment)
12 {
13 int num = this.sittingIndex;
14 int direction = player.direction;
15 float gravDir = player.gravDir;
16 posOffset.X = (float)num;
17 float y = this.offsetForSeat.Y;
18 float x = posOffset.X;
19 float y2 = posOffset.Y;
20 float x2 = this.offsetForSeat.X;
21 float y3 = this.offsetForSeat.Y;
23 if (32640 == 0)
24 {
25 }
26 posOffset.X = y;
27 }
28
29 // Token: 0x06004106 RID: 16646 RVA: 0x002444D8 File Offset: 0x002426D8
30 public bool TryGetSittingBlock(Player player, [Out] Tile tile)
31 {
32 if (!true)
33 {
34 }
36 Vector2 bottom = player.Bottom;
37 Point point;
40 return true;
41 }
42
43 // Token: 0x06004107 RID: 16647 RVA: 0x00244510 File Offset: 0x00242710
44 public void UpdateSitting(Player player)
45 {
46 Vector2 bottom = player.Bottom;
47 bool active;
48 if (!player.controlLeft && !player.controlRight && !player.controlUp && !player.controlDown && !player.controlJump && !player.pulley)
49 {
50 active = player.mount._active;
51 if (!active)
52 {
53 int direction = player.direction;
54 }
55 }
56 int num = 1;
57 this.SitUp(player, num != 0);
58 if (!active)
59 {
60 }
61 int num2 = 1;
62 this.SitUp(player, num2 != 0);
63 int whoAmI = player.whoAmI;
64 }
65
66 // Token: 0x06004108 RID: 16648 RVA: 0x002445A4 File Offset: 0x002427A4
67 public void SitUp(Player player, bool multiplayerBroadcast = true)
68 {
69 if (!true)
70 {
71 }
72 int myPlayer = Main.myPlayer;
73 int whoAmI = player.whoAmI;
74 }
75
76 // Token: 0x06004109 RID: 16649 RVA: 0x002445C4 File Offset: 0x002427C4
77 public void SitDown(Player player, int x, int y)
78 {
79 int num = 1;
80 Vector2 bottom = player.Bottom;
81 if (num == 0)
82 {
83 }
84 if (num == 0)
85 {
86 }
87 if (num == 0)
88 {
89 }
90 if (num == 0)
91 {
92 }
93 Vector2 bottom2 = player.Bottom;
94 int num2 = 1;
95 this.SitUp(player, num2 != 0);
96 }
97
98 // Token: 0x0600410A RID: 16650 RVA: 0x0024468C File Offset: 0x0024288C
99 public static bool GetSittingTargetInfo(Player player, int x, int y, [Out] int targetDirection, [Out] Vector2 playerSittingPosition, [Out] Vector2 seatDownOffset, [Out] ExtraSeatInfo extraInfo)
100 {
101 /*
102An exception occurred when decompiling this method (0600410A)
103
104ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.PlayerSittingHelper::GetSittingTargetInfo(Terraria.Player,System.Int32,System.Int32,System.Int32,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Terraria.GameContent.ExtraSeatInfo)
105
106 ---> System.Exception: Basic block has to end with unconditional control flow.
107{
108 IL_00B5:
109 stfld:float32(Vector2::X, ldloc:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](playerSittingPosition), ldloc:float32(var_31_A2))
110 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](targetDirection), ldloc:float32[exp:int32](var_31_A2))
111}
112
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 1852
114 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
115 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
116 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
117 --- End of inner exception stack trace ---
118 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
119 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
120*/;
121 }
122
123 // Token: 0x04007EBC RID: 32444
124 public const int ChairSittingMaxDistance = 40;
125
126 // Token: 0x04007EBD RID: 32445
127 public bool isSitting;
128
129 // Token: 0x04007EBE RID: 32446
131
132 // Token: 0x04007EBF RID: 32447
134
135 // Token: 0x04007EC0 RID: 32448
136 public int sittingIndex;
137 }
138}
class f__AnonymousType0<< Count > j__TPar
Vector2 Bottom
Definition Entity.cs:318
static Tile GetTileSafely(Vector2 position)
Definition Framing.cs:356
static int myPlayer
Definition Main.cs:2337
Microsoft.Xna.Framework.Vector2 Directions
Definition Player.cs:1168
static bool GetSittingTargetInfo(Player player, int x, int y, [Out] int targetDirection, [Out] Vector2 playerSittingPosition, [Out] Vector2 seatDownOffset, [Out] ExtraSeatInfo extraInfo)
bool TryGetSittingBlock(Player player, [Out] Tile tile)
void SitUp(Player player, bool multiplayerBroadcast=true)
void SitDown(Player player, int x, int y)
void GetSittingOffsetInfo(Player player, [Out] Vector2 posOffset, [Out] float seatAdjustment)