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
CustomCurrencySystem.cs
Go to the documentation of this file.
1using System;
7
9{
10 // Token: 0x02000A5A RID: 2650
12 {
13 // Token: 0x1700089F RID: 2207
14 // (get) Token: 0x06004E56 RID: 20054 RVA: 0x00276768 File Offset: 0x00274968
15 public long CurrencyCap
16 {
17 get
18 {
19 return this._currencyCap;
20 }
21 }
22
23 // Token: 0x06004E57 RID: 20055 RVA: 0x0027677C File Offset: 0x0027497C
24 public void Include(int coin, int howMuchIsItWorth)
25 {
27 }
28
29 // Token: 0x06004E58 RID: 20056 RVA: 0x00276790 File Offset: 0x00274990
30 public void SetCurrencyCap(long cap)
31 {
33 }
34
35 // Token: 0x06004E59 RID: 20057 RVA: 0x002767A4 File Offset: 0x002749A4
36 public virtual long CountCurrency([Out] bool overFlowing, Item[] inv, params int[] ignoreSlots)
37 {
38 long entityId = inv.entityId;
40 long currencyCap = this._currencyCap;
41 int num = 1;
42 overFlowing.m_value = num != 0;
43 return this._currencyCap;
44 }
45
46 // Token: 0x06004E5A RID: 20058 RVA: 0x002767DC File Offset: 0x002749DC
47 public virtual long CombineStacks([Out] bool overFlowing, params long[] coinCounts)
48 {
49 long currencyCap = this._currencyCap;
50 return 0L;
51 }
52
53 // Token: 0x06004E5B RID: 20059 RVA: 0x000021DB File Offset: 0x000003DB
55 {
56 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
57 }
58
59 // Token: 0x06004E5C RID: 20060 RVA: 0x00276808 File Offset: 0x00274A08
60 public virtual bool Accepts(Item item)
61 {
62 /*
63An exception occurred when decompiling this method (06004E5C)
64
65ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.UI.CustomCurrencySystem::Accepts(Terraria.Item)
66
67 ---> System.Exception: Basic block has to end with unconditional control flow.
68{
69 Block_0:
70 stloc:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, int32>(var_0_06, ldfld:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, int32>(CustomCurrencySystem::_valuePerUnit, ldloc:CustomCurrencySystem(this)))
71 stloc:int32(var_1_0D, ldfld:int32(Item::type, ldloc:Item(item)))
72}
73
74 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
75 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
76 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
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 88
78 --- End of inner exception stack trace ---
79 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
80 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
81*/;
82 }
83
84 // Token: 0x06004E5D RID: 20061 RVA: 0x00276824 File Offset: 0x00274A24
85 public virtual void DrawSavingsMoney(SpriteBatch sb, string text, float shopx, float shopy, long totalCoins, bool horizontal = false)
86 {
87 }
88
89 // Token: 0x06004E5E RID: 20062 RVA: 0x00276834 File Offset: 0x00274A34
90 public virtual void GetPriceText(string[] lines, int currentLine, long price)
91 {
92 }
93
94 // Token: 0x06004E5F RID: 20063 RVA: 0x000021DB File Offset: 0x000003DB
96 {
97 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
98 }
99
100 // Token: 0x06004E60 RID: 20064 RVA: 0x00276844 File Offset: 0x00274A44
102 {
103 /*
104An exception occurred when decompiling this method (06004E60)
105
106ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.List`1<System.Tuple`2<Microsoft.Xna.Framework.Point,Terraria.Item>> Terraria.GameContent.UI.CustomCurrencySystem::ItemCacheCreate(System.Collections.Generic.List`1<Terraria.Item[]>)
107
108 ---> System.Exception: Basic block has to end with unconditional control flow.
109{
110 Block_0:
111 stloc:int32(var_0_06, ldfld:int32(List`1::_size, ldloc:class [mscorlib]System.Collections.Generic.List`1<class Terraria.Item[]>[exp:List`1](inventories)))
112 stloc:int32(var_2_0F, ldfld:int32(List`1::_size, ldloc:class [mscorlib]System.Collections.Generic.List`1<class Terraria.Item[]>[exp:List`1](inventories)))
113 stloc:int32(var_5_18, ldfld:int32(List`1::_size, ldloc:class [mscorlib]System.Collections.Generic.List`1<class Terraria.Item[]>[exp:List`1](inventories)))
114}
115
116 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
117 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
118 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
119 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
120 --- End of inner exception stack trace ---
121 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
122 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
123*/;
124 }
125
126 // Token: 0x06004E61 RID: 20065 RVA: 0x0027686C File Offset: 0x00274A6C
128 {
129 }
130
131 // Token: 0x06004E62 RID: 20066 RVA: 0x00276898 File Offset: 0x00274A98
132 public virtual void GetItemExpectedPrice(Item item, [Out] long calcForSelling, [Out] long calcForBuying)
133 {
134 int storeValue = item.GetStoreValue();
135 }
136
137 // Token: 0x06004E63 RID: 20067 RVA: 0x002768AC File Offset: 0x00274AAC
139 {
140 }
141
142 // Token: 0x040086F4 RID: 34548
144
145 // Token: 0x040086F5 RID: 34549
146 private long _currencyCap = 51711L;
147 }
148}
class f__AnonymousType0<< Count > j__TPar
virtual void DrawSavingsMoney(SpriteBatch sb, string text, float shopx, float shopy, long totalCoins, bool horizontal=false)
virtual long CombineStacks([Out] bool overFlowing, params long[] coinCounts)
virtual void GetPriceText(string[] lines, int currentLine, long price)
virtual void GetItemExpectedPrice(Item item, [Out] long calcForSelling, [Out] long calcForBuying)
void ItemCacheRestore(List< Tuple< Point, Item > > cache, List< Item[]> inventories)
virtual bool TryPurchasing(long price, List< Item[]> inv, List< Point > slotCoins, List< Point > slotsEmpty, List< Point > slotEmptyBank, List< Point > slotEmptyBank2, List< Point > slotEmptyBank3, List< Point > slotEmptyBank4)
virtual long CountCurrency([Out] bool overFlowing, Item[] inv, params int[] ignoreSlots)
int SortByHighest(Tuple< int, int > valueA, Tuple< int, int > valueB)
void Include(int coin, int howMuchIsItWorth)
List< Tuple< Point, Item > > ItemCacheCreate(List< Item[]> inventories)