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
ItemTrader.cs
Go to the documentation of this file.
1using System;
5
7{
8 // Token: 0x020007DF RID: 2015
9 public class ItemTrader
10 {
11 // Token: 0x060040EA RID: 16618 RVA: 0x002441BC File Offset: 0x002423BC
13 {
14 this.AddOption_OneWay(itemType1, 1, itemType2, 1);
15 this.AddOption_OneWay(itemType2, 1, itemType1, 1);
16 }
17
18 // Token: 0x060040EB RID: 16619 RVA: 0x002441E0 File Offset: 0x002423E0
20 {
21 }
22
23 // Token: 0x060040EC RID: 16620 RVA: 0x002441F0 File Offset: 0x002423F0
25 {
26 int num = 1;
27 int num2 = 1;
28 this.AddOption_OneWay(givingItemType, num, givingItemType, num2);
29 }
30
31 // Token: 0x060040ED RID: 16621 RVA: 0x000021DB File Offset: 0x000003DB
33 {
34 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
35 }
36
37 // Token: 0x060040EE RID: 16622 RVA: 0x000021DB File Offset: 0x000003DB
39 {
40 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
41 }
42
43 // Token: 0x060040EF RID: 16623 RVA: 0x000021DB File Offset: 0x000003DB
45 {
46 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
47 }
48
49 // Token: 0x060040F0 RID: 16624 RVA: 0x0024420C File Offset: 0x0024240C
50 public ItemTrader()
51 {
52 }
53
54 // Token: 0x060040F1 RID: 16625 RVA: 0x00244220 File Offset: 0x00242420
55 // Note: this type is marked as 'beforefieldinit'.
60
61 // Token: 0x04007EAA RID: 32426
63
64 // Token: 0x04007EAB RID: 32427
66
67 // Token: 0x020007E0 RID: 2016
68 public class TradeOption
69 {
70 // Token: 0x060040F2 RID: 16626 RVA: 0x00244234 File Offset: 0x00242434
72 {
73 /*
74An exception occurred when decompiling this method (060040F2)
75
76ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.ItemTrader/TradeOption::WillTradeFor(System.Int32,System.Int32)
77
78 ---> System.Exception: Basic block has to end with unconditional control flow.
79{
80 Block_0:
81 stloc:int32(var_0_06, ldfld:int32(TradeOption::TakingItemType, ldloc:TradeOption(this)))
82 stloc:int32(var_1_0D, ldfld:int32(TradeOption::TakingItemStack, ldloc:TradeOption(this)))
83}
84
85 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
86 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
87 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
88 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
89 --- End of inner exception stack trace ---
90 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
91 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
92*/;
93 }
94
95 // Token: 0x060040F3 RID: 16627 RVA: 0x00244250 File Offset: 0x00242450
96 public TradeOption()
97 {
98 }
99
100 // Token: 0x04007EAC RID: 32428
101 public int TakingItemType;
102
103 // Token: 0x04007EAD RID: 32429
104 public int TakingItemStack;
105
106 // Token: 0x04007EAE RID: 32430
107 public int GivingITemType;
108
109 // Token: 0x04007EAF RID: 32431
110 public int GivingItemStack;
111 }
112 }
113}
class f__AnonymousType0<< Count > j__TPar
bool WillTradeFor(int offeredItemType, int offeredItemStack)
Definition ItemTrader.cs:71
void AddOption_CyclicLoop(params int[] typesInOrder)
Definition ItemTrader.cs:19
void AddOption_FromAny(int givingItemType, params int[] takingItemTypes)
Definition ItemTrader.cs:24
void AddOption_OneWay(int takingItemType, int takingItemStack, int givingItemType, int givingItemStack)
Definition ItemTrader.cs:32
static ItemTrader CreateChlorophyteExtractinator()
Definition ItemTrader.cs:44
List< ItemTrader.TradeOption > _options
Definition ItemTrader.cs:65
static ItemTrader ChlorophyteExtractinator
Definition ItemTrader.cs:62
void AddOption_Interchangable(int itemType1, int itemType2)
Definition ItemTrader.cs:12
bool TryGetTradeOption(Item item, [Out] ItemTrader.TradeOption option)
Definition ItemTrader.cs:38