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
LanternSky.cs
Go to the documentation of this file.
1using System;
8
10{
11 // Token: 0x020009CE RID: 2510
12 public class LanternSky : CustomSky
13 {
14 // Token: 0x06004A01 RID: 18945 RVA: 0x00264A60 File Offset: 0x00262C60
15 public override void OnLoad()
16 {
17 if (!true)
18 {
19 }
20 long num = 0L;
21 this._texture = 1;
22 this.GenerateLanterns(num != 0L);
23 }
24
25 // Token: 0x06004A02 RID: 18946 RVA: 0x00264A80 File Offset: 0x00262C80
26 private void GenerateLanterns(bool onlyMissing)
27 {
29 }
30
31 // Token: 0x06004A03 RID: 18947 RVA: 0x00264AE8 File Offset: 0x00262CE8
32 public void ResetLantern(int i)
33 {
34 float x = this._lanterns.Position.X;
35 double num = this._random.NextDouble();
36 Asset<Texture2D> texture = this._texture;
39 UnifiedRandom random = this._random;
40 int num2 = 3;
41 int num3 = random.Next(num2);
44 int num4 = 1200;
45 int num5 = random2.Next(num4);
47 float rotation = lanterns4.Rotation;
48 lanterns4.FrameHeight = (int)rotation;
49 }
50
51 // Token: 0x06004A04 RID: 18948 RVA: 0x00264B88 File Offset: 0x00262D88
52 public override void Update(GameTime gameTime)
53 {
54 if (!true)
55 {
56 }
57 float opacity = this._opacity;
59 int num = true.ToDirectionInt();
60 Vector2 position = this._lanterns.Position;
61 long num2 = 0L;
64 long num3 = 0L;
66 float x = lanterns3.Position.X;
67 if (lanterns3 == null)
68 {
69 }
70 long num4 = 0L;
71 long num5 = 0L;
72 int num6 = Math.Max((int)num4, (int)num3);
75 if (this._leaving)
76 {
77 lanternsDrawing = this._lanternsDrawing;
78 return;
79 }
80 this.ResetLantern((int)num2);
82 UnifiedRandom random = this._random;
83 if (lanternsDrawing == 0)
84 {
85 }
86 long num7 = 0L;
87 int num8 = random.Next((int)num7, (int)num5);
89 int num9 = 1;
90 this._active = num9 != 0;
91 }
92
93 // Token: 0x06004A05 RID: 18949 RVA: 0x00264C54 File Offset: 0x00262E54
94 public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth)
95 {
96 if (!true)
97 {
98 }
99 bool gameMenu = Main.gameMenu;
100 long num;
101 if (this._active)
102 {
103 Vector2 position = this._lanterns.Position;
104 num = 0L;
105 }
106 if (num == 0L)
107 {
108 }
109 Vector2 screenPosition = Main.screenPosition;
110 if (num == 0L)
111 {
112 }
113 bool gameMenu2 = Main.gameMenu;
114 float opacity = this._opacity;
115 Vector2 position2 = this._lanterns.Position;
116 }
117
118 // Token: 0x06004A06 RID: 18950 RVA: 0x00264D54 File Offset: 0x00262F54
119 private void DrawLantern(SpriteBatch spriteBatch, LanternSky.Lantern lantern, Color opacity, Vector2 depthScale, Vector2 position, float alpha)
120 {
121 if (!true)
122 {
123 }
124 Vector2 vector = alpha.ToRotationVector2();
125 float opacity2 = this._opacity;
127 Color color = color2 * alpha * alpha * alpha;
128 float rotation = lantern.Rotation;
129 Texture2D texture = lantern._texture;
130 Rectangle sourceRectangle = lantern.GetSourceRectangle();
131 float rotation2 = lantern.Rotation;
132 Vector2 vector2 = lantern.GetSourceRectangle().Size();
133 Texture2D texture2 = lantern._texture;
134 Rectangle sourceRectangle2 = lantern.GetSourceRectangle();
135 float opacity3 = this._opacity;
136 float rotation3 = lantern.Rotation;
137 Vector2 vector3 = lantern.GetSourceRectangle().Size();
138 }
139
140 // Token: 0x06004A07 RID: 18951 RVA: 0x00264E10 File Offset: 0x00263010
141 public override void Activate(Vector2 position, params object[] args)
142 {
143 if (this._active)
144 {
145 this.GenerateLanterns(true);
146 return;
147 }
148 long num = 0L;
149 this.GenerateLanterns(num != 0L);
150 this._active = true;
151 }
152
153 // Token: 0x06004A08 RID: 18952 RVA: 0x00264E40 File Offset: 0x00263040
154 public override void Deactivate(params object[] args)
155 {
156 this._leaving = true;
157 }
158
159 // Token: 0x06004A09 RID: 18953 RVA: 0x00264E54 File Offset: 0x00263054
160 public override bool IsActive()
161 {
162 return this._active;
163 }
164
165 // Token: 0x06004A0A RID: 18954 RVA: 0x00264E68 File Offset: 0x00263068
166 public override void Reset()
167 {
168 }
169
170 // Token: 0x06004A0B RID: 18955 RVA: 0x00264E78 File Offset: 0x00263078
171 public LanternSky()
172 {
173 }
174
175 // Token: 0x040084A3 RID: 33955
176 private bool _active;
177
178 // Token: 0x040084A4 RID: 33956
179 private bool _leaving;
180
181 // Token: 0x040084A5 RID: 33957
182 private float _opacity;
183
184 // Token: 0x040084A6 RID: 33958
186
187 // Token: 0x040084A7 RID: 33959
189
190 // Token: 0x040084A8 RID: 33960
192
193 // Token: 0x040084A9 RID: 33961
194 private int _lanternsDrawing;
195
196 // Token: 0x040084AA RID: 33962
197 private const float slowDown = 0.5f;
198
199 // Token: 0x020009CF RID: 2511
200 private struct Lantern
201 {
202 // Token: 0x17000851 RID: 2129
203 // (get) Token: 0x06004A0C RID: 18956 RVA: 0x00264E90 File Offset: 0x00263090
204 // (set) Token: 0x06004A0D RID: 18957 RVA: 0x00264EA4 File Offset: 0x002630A4
206 {
207 get
208 {
209 return this._texture;
210 }
211 set
212 {
214 int height = value.Height;
215 this.FrameHeight = height;
216 }
217 }
218
219 // Token: 0x17000852 RID: 2130
220 // (get) Token: 0x06004A0E RID: 18958 RVA: 0x00264EC8 File Offset: 0x002630C8
222 {
223 get
224 {
225 /*
226An exception occurred when decompiling this method (06004A0E)
227
228ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.GameContent.Skies.LanternSky/Lantern::get_FloatAdjustedSpeed()
229
230 ---> System.Exception: Basic block has to end with unconditional control flow.
231{
232 Block_0:
233 stloc:int32(var_0_06, ldfld:int32(Lantern::TimeUntilFloat, ldloc:valuetype Terraria.GameContent.Skies.LanternSky/Lantern&(this)))
234 stloc:int32(var_1_0D, ldfld:int32(Lantern::TimeUntilFloatMax, ldloc:valuetype Terraria.GameContent.Skies.LanternSky/Lantern&(this)))
235 stloc:float32(var_2_14, ldfld:float32(Lantern::Speed, ldloc:valuetype Terraria.GameContent.Skies.LanternSky/Lantern&(this)))
236}
237
238 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
239 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
240 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
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 88
242 --- End of inner exception stack trace ---
243 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
244 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
245*/;
246 }
247 }
248
249 // Token: 0x06004A0F RID: 18959 RVA: 0x00264EEC File Offset: 0x002630EC
251 {
252 /*
253An exception occurred when decompiling this method (06004A0F)
254
255ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Rectangle Terraria.GameContent.Skies.LanternSky/Lantern::GetSourceRectangle()
256
257 ---> System.Exception: Basic block has to end with unconditional control flow.
258{
259 Block_0:
260 stloc:int32(var_0_06, ldfld:int32(Lantern::FrameHeight, ldloc:valuetype Terraria.GameContent.Skies.LanternSky/Lantern&(this)))
261 stloc:float32(var_1_0D, ldfld:float32(Lantern::Speed, ldloc:valuetype Terraria.GameContent.Skies.LanternSky/Lantern&(this)))
262}
263
264 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
265 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
266 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
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 88
268 --- End of inner exception stack trace ---
269 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
270 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
271*/;
272 }
273
274 // Token: 0x040084AB RID: 33963
275 private const int MAX_FRAMES_X = 3;
276
277 // Token: 0x040084AC RID: 33964
278 public int Variant;
279
280 // Token: 0x040084AD RID: 33965
281 public int TimeUntilFloat;
282
283 // Token: 0x040084AE RID: 33966
285
286 // Token: 0x040084AF RID: 33967
288
289 // Token: 0x040084B0 RID: 33968
291
292 // Token: 0x040084B1 RID: 33969
293 public float Depth;
294
295 // Token: 0x040084B2 RID: 33970
296 public float Rotation;
297
298 // Token: 0x040084B3 RID: 33971
299 public int FrameHeight;
300
301 // Token: 0x040084B4 RID: 33972
302 public int FrameWidth;
303
304 // Token: 0x040084B5 RID: 33973
305 public float Speed;
306
307 // Token: 0x040084B6 RID: 33974
308 public bool Active;
309 }
310 }
311}
class f__AnonymousType0<< Count > j__TPar
static byte Max(byte val1, byte val2)
Definition Math.cs:111
override void Activate(Vector2 position, params object[] args)
override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth)
Definition LanternSky.cs:94
override void Deactivate(params object[] args)
void GenerateLanterns(bool onlyMissing)
Definition LanternSky.cs:26
void DrawLantern(SpriteBatch spriteBatch, LanternSky.Lantern lantern, Color opacity, Vector2 depthScale, Vector2 position, float alpha)
override void Update(GameTime gameTime)
Definition LanternSky.cs:52
static Microsoft.Xna.Framework.Vector2 screenPosition
Definition Main.cs:1973
static bool gameMenu
Definition Main.cs:2673