using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using Cpp2IlInjected; using RecRoom.Systems.PlayerRoles; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; namespace RecRoom.Consumable { // Token: 0x02002407 RID: 9223 [Token(Token = "0x2002407")] public class ConsumableManager : NetworkedSingletonMonoBehaviour { // Token: 0x140000F7 RID: 247 // (add) Token: 0x0600EA92 RID: 60050 RVA: 0x0035E65C File Offset: 0x0035C85C // (remove) Token: 0x0600EA93 RID: 60051 RVA: 0x0035E684 File Offset: 0x0035C884 [Token(Token = "0x140000F7")] public event Action HNCNGJFLMEL { [Token(Token = "0x600EA92")] [Address(RVA = "0x1D8C900", Offset = "0x1D8B900", VA = "0x181D8C900")] [CompilerGenerated] add { Action hncngjflmel; Delegate @delegate; do { hncngjflmel = this.HNCNGJFLMEL; @delegate = Delegate.Combine(hncngjflmel, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != hncngjflmel) { } } [Token(Token = "0x600EA93")] [Address(RVA = "0x1D8CA40", Offset = "0x1D8BA40", VA = "0x181D8CA40")] [CompilerGenerated] remove { Action hncngjflmel; Delegate @delegate; do { hncngjflmel = this.HNCNGJFLMEL; @delegate = Delegate.Remove(hncngjflmel, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != hncngjflmel) { } } } // Token: 0x140000F8 RID: 248 // (add) Token: 0x0600EA94 RID: 60052 RVA: 0x0035E6AC File Offset: 0x0035C8AC // (remove) Token: 0x0600EA95 RID: 60053 RVA: 0x0035E6D4 File Offset: 0x0035C8D4 [Token(Token = "0x140000F8")] public event Action BNFPEINEDCC { [Token(Token = "0x600EA94")] [Address(RVA = "0x1D8C9A0", Offset = "0x1D8B9A0", VA = "0x181D8C9A0")] [CompilerGenerated] add { Action bnfpeinedcc; Delegate @delegate; do { bnfpeinedcc = this.BNFPEINEDCC; @delegate = Delegate.Combine(bnfpeinedcc, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != bnfpeinedcc) { } } [Token(Token = "0x600EA95")] [Address(RVA = "0x1D8CAE0", Offset = "0x1D8BAE0", VA = "0x181D8CAE0")] [CompilerGenerated] remove { Action bnfpeinedcc; Delegate @delegate; do { bnfpeinedcc = this.BNFPEINEDCC; @delegate = Delegate.Remove(bnfpeinedcc, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != bnfpeinedcc) { } } } // Token: 0x1700256C RID: 9580 // (get) Token: 0x0600EA96 RID: 60054 RVA: 0x0035E6FC File Offset: 0x0035C8FC // (set) Token: 0x0600EA97 RID: 60055 RVA: 0x0035E710 File Offset: 0x0035C910 [Token(Token = "0x1700256C")] public List HBNKDJHPFIH { [Token(Token = "0x600EA96")] [Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")] get; [Token(Token = "0x600EA97")] [Address(RVA = "0x417A20", Offset = "0x416A20", VA = "0x180417A20")] private set; } // Token: 0x1700256D RID: 9581 // (get) Token: 0x0600EA98 RID: 60056 RVA: 0x0035E724 File Offset: 0x0035C924 // (set) Token: 0x0600EA99 RID: 60057 RVA: 0x0035E738 File Offset: 0x0035C938 [Token(Token = "0x1700256D")] public Dictionary GLGIFBBIJMO { [Token(Token = "0x600EA98")] [Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")] get; [Token(Token = "0x600EA99")] [Address(RVA = "0x417AC0", Offset = "0x416AC0", VA = "0x180417AC0")] private set; } // Token: 0x1700256E RID: 9582 // (get) Token: 0x0600EA9A RID: 60058 RVA: 0x0035E74C File Offset: 0x0035C94C // (set) Token: 0x0600EA9B RID: 60059 RVA: 0x0035E760 File Offset: 0x0035C960 [Token(Token = "0x1700256E")] private Dictionary> IKCILKBNLDL { [Token(Token = "0x600EA9A")] [Address(RVA = "0x493640", Offset = "0x492640", VA = "0x180493640")] get; [Token(Token = "0x600EA9B")] [Address(RVA = "0x476170", Offset = "0x475170", VA = "0x180476170")] set; } // Token: 0x0600EA9C RID: 60060 RVA: 0x0035E774 File Offset: 0x0035C974 [Token(Token = "0x600EA9C")] [Address(RVA = "0x1D89670", Offset = "0x1D88670", VA = "0x181D89670", Slot = "13")] protected override void Awake() { base.Awake(); List list = new List(); this.k__BackingField = list; Dictionary dictionary = new Dictionary(); this.k__BackingField = dictionary; Dictionary> dictionary2 = new Dictionary(); this.k__BackingField = dictionary2; MFBGLIHGCGO kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL; Action action = new Action(this.LJNJNJPEHJI); FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.BPJDFPACLMK(kpcjmbnihhl, action); MFBGLIHGCGO gflphdlaeop = FOEHJBDMMBH.GFLPHDLAEOP; Action action2 = new Action(this.BKKNBEAIHFN); FOEHJBDMMBH.GFLPHDLAEOP = MFBGLIHGCGO.BPJDFPACLMK(gflphdlaeop, action2); OKNNKFGFODL afkmkiapopl = FOEHJBDMMBH.AFKMKIAPOPL; Action action3 = new Action(this.AFKMKIAPOPL); FOEHJBDMMBH.AFKMKIAPOPL = OKNNKFGFODL.BPJDFPACLMK(afkmkiapopl, action3); ConsumableCollectionRuntimeConfig consumableCollectionRuntimeConfig = this.consumableCollection; HairDyeConsumableInfo[] hairDyeConsumables = consumableCollectionRuntimeConfig.HairDyeConsumables; IEnumerable enumerable = Enumerable.Concat(consumableCollectionRuntimeConfig.GenericConsumables, hairDyeConsumables); CouponConsumableInfo[] couponConsumables = consumableCollectionRuntimeConfig.CouponConsumables; IEnumerable enumerable2 = Enumerable.Concat(enumerable, couponConsumables); HeadPotionConsumableInfo[] headPotionConsumables = consumableCollectionRuntimeConfig.HeadPotionConsumables; ConsumableInfo[] array = Enumerable.ToArray(Enumerable.Concat(enumerable2, headPotionConsumables)); Func <>9__28_ = ConsumableManager.<>c.<>9__28_0; if (<>9__28_ == 0) { ConsumableManager.<>c.<>9__28_0 = (ConsumableInfo i) => i.ConsumableItemDesc; } Dictionary dictionary3 = Enumerable.ToDictionary(array, <>9__28_); this.LPPDCFEJBGA = dictionary3; SceneManager.sceneUnloaded += new UnityAction(this.LMOACMLMLAB); } // Token: 0x0600EA9D RID: 60061 RVA: 0x0035E8B0 File Offset: 0x0035CAB0 [Token(Token = "0x600EA9D")] [Address(RVA = "0x1D8BDA0", Offset = "0x1D8ADA0", VA = "0x181D8BDA0", Slot = "14")] protected override void OnDestroy() { MFBGLIHGCGO kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL; Action action = new Action(this.LJNJNJPEHJI); FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.GMNMHGMFGOL(kpcjmbnihhl, action); MFBGLIHGCGO gflphdlaeop = FOEHJBDMMBH.GFLPHDLAEOP; Action action2 = new Action(this.BKKNBEAIHFN); FOEHJBDMMBH.GFLPHDLAEOP = MFBGLIHGCGO.GMNMHGMFGOL(gflphdlaeop, action2); OKNNKFGFODL afkmkiapopl = FOEHJBDMMBH.AFKMKIAPOPL; Action action3 = new Action(this.AFKMKIAPOPL); FOEHJBDMMBH.AFKMKIAPOPL = OKNNKFGFODL.GMNMHGMFGOL(afkmkiapopl, action3); SceneManager.sceneUnloaded -= new UnityAction(this.LMOACMLMLAB); base.OnDestroy(); } // Token: 0x0600EA9E RID: 60062 RVA: 0x0035E938 File Offset: 0x0035CB38 [Token(Token = "0x600EA9E")] [Address(RVA = "0x1D8C580", Offset = "0x1D8B580", VA = "0x181D8C580")] private IEnumerator Start() { /* An exception occurred when decompiling this method (0600EA9E) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Consumable.ConsumableManager::Start() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stfld:int32(IENDGKFKBBL::<>1__state, ldloc:IENDGKFKBBL(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:ConsumableManager(IENDGKFKBBL::<>4__this, ldloc:IENDGKFKBBL(var_0), ldloc:ConsumableManager(this)) } 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 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 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 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 --- End of inner exception stack trace --- 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 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 1663 */; } // Token: 0x0600EA9F RID: 60063 RVA: 0x0035E954 File Offset: 0x0035CB54 [Token(Token = "0x600EA9F")] [Address(RVA = "0x1D8BD50", Offset = "0x1D8AD50", VA = "0x181D8BD50")] private void LMOACMLMLAB(Scene LHECBPFGEMH) { this.NJMOJCFCNJI.Clear(); } // Token: 0x0600EAA0 RID: 60064 RVA: 0x0035E974 File Offset: 0x0035CB74 [Token(Token = "0x600EAA0")] [Address(RVA = "0x1D8BF70", Offset = "0x1D8AF70", VA = "0x181D8BF70")] private void PEOHHDHGDMB() { ConsumableCollectionRuntimeConfig consumableCollectionRuntimeConfig = this.consumableCollection; HairDyeConsumableInfo[] hairDyeConsumables = consumableCollectionRuntimeConfig.HairDyeConsumables; IEnumerable enumerable = Enumerable.Concat(consumableCollectionRuntimeConfig.GenericConsumables, hairDyeConsumables); CouponConsumableInfo[] couponConsumables = consumableCollectionRuntimeConfig.CouponConsumables; IEnumerable enumerable2 = Enumerable.Concat(enumerable, couponConsumables); HeadPotionConsumableInfo[] headPotionConsumables = consumableCollectionRuntimeConfig.HeadPotionConsumables; ConsumableInfo[] array = Enumerable.ToArray(Enumerable.Concat(enumerable2, headPotionConsumables)); Func <>9__28_ = ConsumableManager.<>c.<>9__28_0; if (<>9__28_ == 0) { ConsumableManager.<>c.<>9__28_0 = (ConsumableInfo i) => i.ConsumableItemDesc; } Dictionary dictionary = Enumerable.ToDictionary(array, <>9__28_); this.LPPDCFEJBGA = dictionary; } // Token: 0x0600EAA1 RID: 60065 RVA: 0x0035EA00 File Offset: 0x0035CC00 [Token(Token = "0x600EAA1")] [Address(RVA = "0x1D89FE0", Offset = "0x1D88FE0", VA = "0x181D89FE0")] public void DeactivateConsumableOfCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK, bool CPNHCODHDAD) { int num; int num2; int num3; do { num = 0; Dictionary dictionary = this.k__BackingField; bool flag; if (!flag) { return; } if (flag && num < (flag ? 1 : 0)) { num += num; if (num != (flag ? 1 : 0)) { num++; } } if (flag) { num2 = 0; } num3 = 0; } while (num != 0); if (num2.LENBPGEABJK().LimitType <= ConsumableManager.FFCJLEMFFAJ.Time) { this.JAHAJMKIEFD(num3); } BPHGKAEDBPE.CBEOHBCIPEA cbeohbcipea; if (ConsumableManager.<>c.<>9__29_0 == 0) { cbeohbcipea = delegate(string error) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; ConsumableManager.<>c.<>9__29_0 = cbeohbcipea; } int num4 = 0; IEnumerator enumerator = FOEHJBDMMBH.PKHAMBFCEJI(num, num4 != 0, cbeohbcipea); Dictionary dictionary2 = this.k__BackingField; ConsumableManager.KIDKMAOBOIG kidkmaoboig = num.GMMAAAGFAKO(); } // Token: 0x0600EAA2 RID: 60066 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600EAA2")] [Address(RVA = "0x1D89290", Offset = "0x1D88290", VA = "0x181D89290")] public void ActivateConsumable(OOCCCGPICOG KGNADIFEIML, bool CPNHCODHDAD) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600EAA3 RID: 60067 RVA: 0x0035EAB0 File Offset: 0x0035CCB0 [Token(Token = "0x600EAA3")] [Address(RVA = "0x1D8B5C0", Offset = "0x1D8A5C0", VA = "0x181D8B5C0")] private IEnumerator IKAOJDNCCJO() { /* An exception occurred when decompiling this method (0600EAA3) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Consumable.ConsumableManager::IKAOJDNCCJO() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stfld:int32(BBNLOOEHPKF::<>1__state, ldloc:BBNLOOEHPKF(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:ConsumableManager(BBNLOOEHPKF::<>4__this, ldloc:BBNLOOEHPKF(var_0), ldloc:ConsumableManager(this)) } 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 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 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 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 --- End of inner exception stack trace --- 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 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 1663 */; } // Token: 0x0600EAA4 RID: 60068 RVA: 0x0035EACC File Offset: 0x0035CCCC [Token(Token = "0x600EAA4")] [Address(RVA = "0x1D8A320", Offset = "0x1D89320", VA = "0x181D8A320")] public DABKFAIHBBP DownloadPurchasedConsumables(BPHGKAEDBPE.CBEOHBCIPEA AFLPGGJMPOE) { return FOEHJBDMMBH.BAKHDHHALHF(delegate(string error, List selections) { if (selections != 0) { this.k__BackingField.AddRange(selections); List list = this.k__BackingField; Comparison <>9__32_ = ConsumableManager.<>c.<>9__32_1; if (<>9__32_ == 0) { ConsumableManager.<>c.<>9__32_1 = delegate(OOCCCGPICOG x, OOCCCGPICOG y) { DateTime k__BackingField = x.k__BackingField; DateTime k__BackingField2 = y.k__BackingField; return DateTime.Compare(k__BackingField, k__BackingField2); }; } list.Sort(<>9__32_); } BPHGKAEDBPE.HADGLCCBNHM(AFLPGGJMPOE, error); }); } // Token: 0x0600EAA5 RID: 60069 RVA: 0x0035EB04 File Offset: 0x0035CD04 [Token(Token = "0x600EAA5")] [Address(RVA = "0x1D8C7C0", Offset = "0x1D8B7C0", VA = "0x181D8C7C0")] public IEnumerator UseConsumable(OOCCCGPICOG BAJGNABECMN, int FKKAPHAMPMG, BPHGKAEDBPE.CBEOHBCIPEA AFLPGGJMPOE) { return FOEHJBDMMBH.LCELAOEOIJO(BAJGNABECMN, FKKAPHAMPMG, AFLPGGJMPOE); } // Token: 0x0600EAA6 RID: 60070 RVA: 0x0035EB1C File Offset: 0x0035CD1C [Token(Token = "0x600EAA6")] [Address(RVA = "0x1D8C5E0", Offset = "0x1D8B5E0", VA = "0x181D8C5E0")] public void TryApplyConsumableEffect(ConsumableEffect EPEIGGODCIN) { int num; do { num = 0; List k__BackingField = EPEIGGODCIN.k__BackingField; bool flag; if (flag) { Dictionary dictionary = this.k__BackingField; int num2 = 0; bool flag2; while (!flag2) { } int num3 = 0; bool flag3 = EPEIGGODCIN.LocalActivateConsumable(num2, num3 != 0); } } while (num != 0); } // Token: 0x0600EAA7 RID: 60071 RVA: 0x0035EB68 File Offset: 0x0035CD68 [Token(Token = "0x600EAA7")] [Address(RVA = "0x1D8C0F0", Offset = "0x1D8B0F0", VA = "0x181D8C0F0")] public Tool SpawnConsumableForLocalPlayer(string BFMHPKIEKIF, long? NJCHOELCFME, Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, float FNJKKNKLDPB, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN) { if (!PlayerRoomRoleManager.IPCFEPKLJNG) { NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG; } ConsumableInfo consumableInfo = this.TryGetConsumableInfo(BFMHPKIEKIF); if (consumableInfo != 0) { Dictionary dictionary = new Dictionary(); int inpoaaaoahi = KKPBCOOONNK.MDMMDPEKICF.INPOAAAOAHI; throw new NullReferenceException(); } Debug.LogError("Spawn Consumable For Local Player: Unable to find consumable"); throw new NullReferenceException(); } // Token: 0x0600EAA8 RID: 60072 RVA: 0x0035EC40 File Offset: 0x0035CE40 [Token(Token = "0x600EAA8")] [Address(RVA = "0x1D8C480", Offset = "0x1D8B480", VA = "0x181D8C480")] public GameObject SpawnConsumableImposter(string BFMHPKIEKIF) { ConsumableItem orLoadConsumablePrefab = this.GetOrLoadConsumablePrefab(BFMHPKIEKIF); int num = 0; if (!(orLoadConsumablePrefab != num)) { } GameObject gameObject = orLoadConsumablePrefab.gameObject; int num2 = 0; GameObject gameObject2 = JODFIHBJHJM.EIJJOKINEIL(gameObject, num2, true).gameObject; gameObject2.layer = 5; return gameObject2; } // Token: 0x0600EAA9 RID: 60073 RVA: 0x0035EC90 File Offset: 0x0035CE90 [Token(Token = "0x600EAA9")] [Address(RVA = "0x1D8B880", Offset = "0x1D8A880", VA = "0x181D8B880")] private void JAHAJMKIEFD(OOCCCGPICOG BAJGNABECMN) { Func func = delegate(ConsumableManager.DKKBNGODEOM c) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; ConsumableManager.DKKBNGODEOM dkkbngodeom; if (dkkbngodeom != 0) { if (ConsumableManager.<>c.<>9__40_1 == 0) { ConsumableManager.<>c.<>9__40_1 = delegate(string e) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; } LinkedList fllfjeooncc = this.FLLFJEOONCC; } } // Token: 0x0600EAAA RID: 60074 RVA: 0x0035ECE8 File Offset: 0x0035CEE8 [Token(Token = "0x600EAAA")] [Address(RVA = "0x1D8BB20", Offset = "0x1D8AB20", VA = "0x181D8BB20")] private IEnumerator KFCOBPNHEAK() { /* An exception occurred when decompiling this method (0600EAAA) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Consumable.ConsumableManager::KFCOBPNHEAK() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(BOPFCJIBDON::System.IDisposable.Dispose, ldloc:BOPFCJIBDON(var_0)) stfld:int32(BOPFCJIBDON::<>1__state, ldloc:BOPFCJIBDON(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:ConsumableManager(BOPFCJIBDON::<>4__this, ldloc:BOPFCJIBDON(var_0), ldloc:ConsumableManager(this)) } 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 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 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 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 --- End of inner exception stack trace --- 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 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 1663 */; } // Token: 0x0600EAAB RID: 60075 RVA: 0x0035ED0C File Offset: 0x0035CF0C [Token(Token = "0x600EAAB")] [Address(RVA = "0x1D890E0", Offset = "0x1D880E0", VA = "0x181D890E0")] private void AJGKEJPEJMI(OOCCCGPICOG BAJGNABECMN) { LinkedListNode head; float num2; do { int num = 0; if (OOCCCGPICOG.JGIMJGNAJHP(BAJGNABECMN, num)) { return; } ConsumableInfo consumableInfo = BAJGNABECMN.LENBPGEABJK(); if (consumableInfo == 0 || consumableInfo.LimitType > ConsumableManager.FFCJLEMFFAJ.Time || !this.k__BackingField.ContainsValue(BAJGNABECMN)) { return; } float time = Time.time; head = this.FLLFJEOONCC.head; } while (head != 0 && num2 > num2 && head.Next != 0); LinkedList fllfjeooncc = this.FLLFJEOONCC; if (head != 0) { throw new NullReferenceException(); } } // Token: 0x0600EAAC RID: 60076 RVA: 0x0035ED88 File Offset: 0x0035CF88 [Token(Token = "0x600EAAC")] [Address(RVA = "0x1D8A860", Offset = "0x1D89860", VA = "0x181D8A860")] public PMGCJEPKFOF> GetAllTransferableConsumableTypesByCreatorId(int OEMFFOMNDPB) { Dictionary> dictionary = this.k__BackingField; bool flag; if (!flag) { PMGCJEPKFOF> pmgcjepkfof = FOEHJBDMMBH.AFMKIHFMMBI(OEMFFOMNDPB); Func, List> func = delegate(List consumables) { Dictionary> dictionary2 = this.k__BackingField; throw new NullReferenceException(); }; } if (ConsumableManager.<>c.<>9__43_0 == 0) { ConsumableManager.<>c.<>9__43_0 = (OOCCCGPICOG c) => c.k__BackingField; } Func, OOCCCGPICOG> func2; if (ConsumableManager.<>c.<>9__43_1 == 0) { func2 = (IGrouping c) => Enumerable.Last(c); ConsumableManager.<>c.<>9__43_1 = func2; } IEnumerable enumerable; List list = Enumerable.ToList(Enumerable.Select, OOCCCGPICOG>(enumerable, func2)); PMGCJEPKFOF pmgcjepkfof2; return pmgcjepkfof2; } // Token: 0x0600EAAD RID: 60077 RVA: 0x0035EE28 File Offset: 0x0035D028 [Token(Token = "0x600EAAD")] [Address(RVA = "0x1D8B410", Offset = "0x1D8A410", VA = "0x181D8B410")] public PMGCJEPKFOF> GetTransferableConsumablesOfTypeByCreatorId(string BFMHPKIEKIF, int OEMFFOMNDPB) { Dictionary> dictionary = this.k__BackingField; bool flag; if (!flag) { PMGCJEPKFOF> pmgcjepkfof = FOEHJBDMMBH.AFMKIHFMMBI(OEMFFOMNDPB); Func, List> func = delegate(List consumables) { Dictionary> dictionary2 = this.k__BackingField; throw new NullReferenceException(); }; } Func func2 = delegate(OOCCCGPICOG c) { string consumableType = BFMHPKIEKIF; return string.Equals(c.k__BackingField, consumableType); }; IEnumerable enumerable; List list = Enumerable.ToList(enumerable); throw new NullReferenceException(); } // Token: 0x0600EAAE RID: 60078 RVA: 0x0035EE94 File Offset: 0x0035D094 [Token(Token = "0x600EAAE")] [Address(RVA = "0x1D8ACC0", Offset = "0x1D89CC0", VA = "0x181D8ACC0")] public OOCCCGPICOG GetLatestNonActiveNonTransferableConsumableByType(string BFMHPKIEKIF) { List list = this.k__BackingField; Func func = delegate(OOCCCGPICOG pc) { string consumableType = BFMHPKIEKIF; bool flag = string.Equals(pc.k__BackingField, consumableType); if (!flag) { return flag; } return !pc.k__BackingField; }; IEnumerable enumerable = Enumerable.Where(list, func); Func <>9__45_ = ConsumableManager.<>c.<>9__45_1; if (<>9__45_ == 0) { ConsumableManager.<>c.<>9__45_1 = (OOCCCGPICOG pc) => pc.k__BackingField; } return Enumerable.FirstOrDefault(Enumerable.OrderByDescending(enumerable, <>9__45_)); } // Token: 0x0600EAAF RID: 60079 RVA: 0x0035EF00 File Offset: 0x0035D100 [Token(Token = "0x600EAAF")] [Address(RVA = "0x1D8B1C0", Offset = "0x1D8A1C0", VA = "0x181D8B1C0")] public int GetRemainingCount(OOCCCGPICOG BAJGNABECMN) { OOCCCGPICOG consumable = BAJGNABECMN; ConsumableInfo consumableInfo = BAJGNABECMN.LENBPGEABJK(); int num = 0; if (consumableInfo != 0) { ConsumableManager.FFCJLEMFFAJ limitType = consumableInfo.LimitType; } if (num != 0 && 1 != 0) { if (1 == 0) { int num2; return num2; } if (1 == 0 || 1UL == (ulong)1L) { OOCCCGPICOG consumable2 = consumable; int num2 = consumable2.k__BackingField; if (consumable2.k__BackingField) { LinkedList fllfjeooncc = this.FLLFJEOONCC; Func func = delegate(ConsumableManager.DKKBNGODEOM ct) { long k__BackingField = consumable.k__BackingField; return "{il2cpp field on {'constant4' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x10}" == k__BackingField; }; IEnumerable enumerable = Enumerable.Where(fllfjeooncc, func); Func func2; if (ConsumableManager.<>c.<>9__46_1 == 0) { func2 = (ConsumableManager.DKKBNGODEOM ct) => ct.HPIOFBILNMC; ConsumableManager.<>c.<>9__46_1 = func2; } float num3 = Enumerable.FirstOrDefault(Enumerable.Select(enumerable, func2)); int num4 = 0; if (num3 > (float)num4) { int num5 = 0; float time = Time.time; num2 += num5; } } return num2; } } return 0; } // Token: 0x0600EAB0 RID: 60080 RVA: 0x0035EFE4 File Offset: 0x0035D1E4 [Token(Token = "0x600EAB0")] [Address(RVA = "0x1D8AB20", Offset = "0x1D89B20", VA = "0x181D8AB20")] public OOCCCGPICOG GetConsumableById(long NJCHOELCFME) { List list = this.k__BackingField; Func func = delegate(OOCCCGPICOG pc) { long consumableId = NJCHOELCFME; return pc.k__BackingField == consumableId; }; IEnumerable enumerable = Enumerable.Where(list, func); Func <>9__47_ = ConsumableManager.<>c.<>9__47_1; if (<>9__47_ == 0) { ConsumableManager.<>c.<>9__47_1 = (OOCCCGPICOG pc) => pc.k__BackingField; } return Enumerable.FirstOrDefault(Enumerable.OrderByDescending(enumerable, <>9__47_)); } // Token: 0x0600EAB1 RID: 60081 RVA: 0x0035F050 File Offset: 0x0035D250 [Token(Token = "0x600EAB1")] [Address(RVA = "0x1D8B680", Offset = "0x1D8A680", VA = "0x181D8B680")] public bool IsConsumableOfTypeActive(string GEDCEIDOKJL) { Dictionary dictionary = this.k__BackingField; if (this.TryGetConsumableInfo(GEDCEIDOKJL) != 0) { } bool flag; if (!flag) { return flag; } throw new NullReferenceException(); } // Token: 0x0600EAB2 RID: 60082 RVA: 0x0035F084 File Offset: 0x0035D284 [Token(Token = "0x600EAB2")] [Address(RVA = "0x1D8AE30", Offset = "0x1D89E30", VA = "0x181D8AE30")] public List GetLatestPurchasedNonTransferableConsumablesInCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK) { List list = this.k__BackingField; Func func = (OOCCCGPICOG c) => c.GMMAAAGFAKO() == DJFBMCIDJNK; IEnumerable enumerable = Enumerable.Where(list, func); Func <>9__49_ = ConsumableManager.<>c.<>9__49_1; if (<>9__49_ == 0) { ConsumableManager.<>c.<>9__49_1 = (OOCCCGPICOG c) => c.k__BackingField; } IEnumerable enumerable2 = Enumerable.GroupBy(enumerable, <>9__49_); Func, OOCCCGPICOG> func2; if (ConsumableManager.<>c.<>9__49_2 == 0) { func2 = (IGrouping c) => Enumerable.Last(c); ConsumableManager.<>c.<>9__49_2 = func2; } return Enumerable.ToList(Enumerable.Select, OOCCCGPICOG>(enumerable2, func2)); } // Token: 0x0600EAB3 RID: 60083 RVA: 0x0035F120 File Offset: 0x0035D320 [Token(Token = "0x600EAB3")] [Address(RVA = "0x1D8A7A0", Offset = "0x1D897A0", VA = "0x181D8A7A0")] public List GetAllPurchasedNonTransferableConsumablesOfType(string GEDCEIDOKJL) { List list = this.k__BackingField; Func func = delegate(OOCCCGPICOG c) { string type = GEDCEIDOKJL; return string.Equals(c.k__BackingField, type); }; return Enumerable.ToList(Enumerable.Where(list, func)); } // Token: 0x0600EAB4 RID: 60084 RVA: 0x0035F160 File Offset: 0x0035D360 [Token(Token = "0x600EAB4")] [Address(RVA = "0x1D8A4A0", Offset = "0x1D894A0", VA = "0x181D8A4A0")] public OOCCCGPICOG GetActiveConsumableInCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK) { Dictionary dictionary = this.k__BackingField; throw new NullReferenceException(); } // Token: 0x0600EAB5 RID: 60085 RVA: 0x0035F17C File Offset: 0x0035D37C [Token(Token = "0x600EAB5")] [Address(RVA = "0x1D8B750", Offset = "0x1D8A750", VA = "0x181D8B750")] public bool IsHairDyeConsumableActive(string CBCHEMNOLBO) { Dictionary dictionary = this.k__BackingField; int num = 0; if (dictionary.TryGetValue(6, num)) { ConsumableInfo consumableInfo = num.LENBPGEABJK(); if (consumableInfo != 0 && consumableInfo != 0 && consumableInfo != 0) { return true; } } throw new NullReferenceException(); } // Token: 0x0600EAB6 RID: 60086 RVA: 0x0035F1C0 File Offset: 0x0035D3C0 [Token(Token = "0x600EAB6")] [Address(RVA = "0x1D8AC90", Offset = "0x1D89C90", VA = "0x181D8AC90")] public ConsumableManager.KIDKMAOBOIG GetConsumableCategory(string AKAMDLHKMGM) { ConsumableInfo consumableInfo = this.TryGetConsumableInfo(AKAMDLHKMGM); if (consumableInfo != 0) { return consumableInfo.Category; } return ConsumableManager.KIDKMAOBOIG.Invalid; } // Token: 0x0600EAB7 RID: 60087 RVA: 0x0035F1E4 File Offset: 0x0035D3E4 [Token(Token = "0x600EAB7")] [Address(RVA = "0x1D8C740", Offset = "0x1D8B740", VA = "0x181D8C740")] public ConsumableInfo TryGetConsumableInfo(string AKAMDLHKMGM) { Dictionary lppdcfejbga = this.LPPDCFEJBGA; int num = 0; bool flag = lppdcfejbga.TryGetValue(AKAMDLHKMGM, num); throw new NullReferenceException(); } // Token: 0x0600EAB8 RID: 60088 RVA: 0x0035F208 File Offset: 0x0035D408 [Token(Token = "0x600EAB8")] [Address(RVA = "0x1D8B050", Offset = "0x1D8A050", VA = "0x181D8B050")] public ConsumableItem GetOrLoadConsumablePrefab(string GEDCEIDOKJL) { int num = 0; if (num == 0 && !this.NJMOJCFCNJI.TryGetValue(GEDCEIDOKJL, num) && this.LPPDCFEJBGA.TryGetValue(GEDCEIDOKJL, num)) { ConsumableItem consumableItem = Resources.Load(num); int num2 = 0; if (consumableItem != num2) { Dictionary njmojcfcnji = this.NJMOJCFCNJI; throw new NullReferenceException(); } } Debug.LogError("Tried to GetConsumablePrefab for empty type!"); throw new NullReferenceException(); } // Token: 0x0600EAB9 RID: 60089 RVA: 0x0035F270 File Offset: 0x0035D470 [Token(Token = "0x600EAB9")] [Address(RVA = "0x1D8B620", Offset = "0x1D8A620", VA = "0x181D8B620")] public void InvalidateTransferableConsumablesByCreatorId(int OEMFFOMNDPB) { bool flag = this.k__BackingField.Remove(OEMFFOMNDPB); } // Token: 0x0600EABA RID: 60090 RVA: 0x0035F290 File Offset: 0x0035D490 [Token(Token = "0x600EABA")] [Address(RVA = "0x1D8A510", Offset = "0x1D89510", VA = "0x181D8A510")] public void GetActiveCouponConsumableByType(DGOHCPBKOHD NIGCECGDCFD, ACDKILABNNC DLNFAILEHOA, out CouponConsumableInfo OICOOGLDGMH, out OOCCCGPICOG CHFOIAPLJJC) { int num = 0; bool flag = this.k__BackingField.TryGetValue((uint)7, num); int num2 = 0; if (flag) { if (this.TryGetConsumableInfo(num2) == 0) { throw new NullReferenceException(); } int num3 = 0; if ((num3 != 0 && num3 != (int)NIGCECGDCFD) || num3 == 0 || num3 != (int)DLNFAILEHOA) { } } } // Token: 0x0600EABB RID: 60091 RVA: 0x0035F2E8 File Offset: 0x0035D4E8 [Token(Token = "0x600EABB")] [Address(RVA = "0x1D8A660", Offset = "0x1D89660", VA = "0x181D8A660")] public void GetActiveWatchStoreTokenCouponConsumable(out CouponConsumableInfo OICOOGLDGMH, out OOCCCGPICOG CHFOIAPLJJC) { int num = 0; if (this.k__BackingField.TryGetValue((uint)7, num)) { ConsumableInfo consumableInfo; if (consumableInfo == 0) { throw new NullReferenceException(); } int num2 = 0; if (num2 == 0 || num2 == 3) { } } } // Token: 0x0600EABC RID: 60092 RVA: 0x0035F324 File Offset: 0x0035D524 [Token(Token = "0x600EABC")] [Address(RVA = "0x1D8BA60", Offset = "0x1D8AA60", VA = "0x181D8BA60")] private void JJEGNEPGBNA(OOCCCGPICOG BAJGNABECMN, bool CNEIBILGFCO) { Action hncngjflmel = this.HNCNGJFLMEL; if (hncngjflmel != 0) { hncngjflmel(BAJGNABECMN, CNEIBILGFCO); } Debug.LogError("Error raising OnActiveConsumableChanged: " + BAJGNABECMN); } // Token: 0x0600EABD RID: 60093 RVA: 0x0035F354 File Offset: 0x0035D554 [Token(Token = "0x600EABD")] [Address(RVA = "0x1D8A3E0", Offset = "0x1D893E0", VA = "0x181D8A3E0")] private void FGAIIFEMKKE(OOCCCGPICOG BAJGNABECMN, bool AKJFIEJBCJA) { Action bnfpeinedcc = this.BNFPEINEDCC; if (bnfpeinedcc != 0) { bnfpeinedcc(BAJGNABECMN, AKJFIEJBCJA); } Debug.LogError("Error raising OnPurchasedConsumableChanged: " + BAJGNABECMN); } // Token: 0x0600EABE RID: 60094 RVA: 0x0035F384 File Offset: 0x0035D584 [Token(Token = "0x600EABE")] [Address(RVA = "0x1D89000", Offset = "0x1D88000", VA = "0x181D89000")] private void AFKMKIAPOPL() { int k__BackingField = BPHGKAEDBPE.k__BackingField; bool flag = this.k__BackingField.Remove(k__BackingField); } // Token: 0x0600EABF RID: 60095 RVA: 0x0035F3AC File Offset: 0x0035D5AC [Token(Token = "0x600EABF")] [Address(RVA = "0x1D8BB80", Offset = "0x1D8AB80", VA = "0x181D8BB80")] private void LJNJNJPEHJI(OOCCCGPICOG BAJGNABECMN) { if (!BAJGNABECMN.k__BackingField) { this.k__BackingField.Add(BAJGNABECMN); this.FGAIIFEMKKE(BAJGNABECMN, true); return; } Dictionary> dictionary = this.k__BackingField; bool flag; if (!flag) { Dictionary> dictionary2 = this.k__BackingField; dictionary2[flag] = new List { BAJGNABECMN }; } throw new NullReferenceException(); } // Token: 0x0600EAC0 RID: 60096 RVA: 0x0035F408 File Offset: 0x0035D608 [Token(Token = "0x600EAC0")] [Address(RVA = "0x1D89A00", Offset = "0x1D88A00", VA = "0x181D89A00")] private void BKKNBEAIHFN(long NJCHOELCFME) { OOCCCGPICOG oocccgpicog2; for (;;) { int num = 0; List list = this.k__BackingField; Predicate predicate = delegate(OOCCCGPICOG c) { long consumableId = NJCHOELCFME; return c.k__BackingField == consumableId; }; OOCCCGPICOG oocccgpicog = ECNNGIFNNNM.LLFCJKLELNH(list, predicate); OOCCCGPICOG consumable = oocccgpicog; if (oocccgpicog == 0) { return; } if ((consumable.k__BackingField ? 1 : 0) != num) { Dictionary> dictionary = this.k__BackingField; bool flag; if (flag) { break; } } Dictionary dictionary2 = this.k__BackingField; OOCCCGPICOG consumable7 = consumable; if (dictionary2.ContainsValue(consumable7)) { int num2 = (int)consumable.GMMAAAGFAKO(); ConsumableInfo consumableInfo = consumable.LENBPGEABJK(); if (consumableInfo != 0 && (consumableInfo.AutoActivateNextItem ? 1 : 0) != num) { List list2 = this.k__BackingField; Func func = delegate(OOCCCGPICOG pc) { string k__BackingField = pc.k__BackingField; string k__BackingField2 = consumable.k__BackingField; return string.Equals(k__BackingField, k__BackingField2); }; IEnumerable enumerable = Enumerable.Where(list2, func); Func func2; if (ConsumableManager.<>c.<>9__63_2 == 0) { func2 = (OOCCCGPICOG pc) => pc.k__BackingField; ConsumableManager.<>c.<>9__63_2 = func2; } oocccgpicog2 = Enumerable.FirstOrDefault(Enumerable.OrderByDescending(enumerable, func2)); } if (oocccgpicog2 != 0) { } if (oocccgpicog2 != 0) { } if (num == 0) { OOCCCGPICOG consumable2 = consumable; BPHGKAEDBPE.CBEOHBCIPEA cbeohbcipea; if (ConsumableManager.<>c.<>9__63_3 == 0) { cbeohbcipea = delegate(string error) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; ConsumableManager.<>c.<>9__63_3 = cbeohbcipea; } int num3 = 0; IEnumerator enumerator = FOEHJBDMMBH.PKHAMBFCEJI(consumable2, num3 != 0, cbeohbcipea); Dictionary dictionary3 = this.k__BackingField; ConsumableManager.KIDKMAOBOIG kidkmaoboig = consumable.GMMAAAGFAKO(); int num4 = 0; OOCCCGPICOG consumable3 = consumable; this.JJEGNEPGBNA(consumable3, num4 != 0); int num5 = 0; if (OOCCCGPICOG.BDBLGMKABNK(oocccgpicog2, num5)) { goto Block_10; } } } } OOCCCGPICOG consumable4 = kjejoajdkfo.consumable; int num6 = 0; OOCCCGPICOG consumable5 = kjejoajdkfo.consumable; this.FGAIIFEMKKE(consumable5, num6 != 0); ConsumableInfo consumableInfo2 = kjejoajdkfo.consumable.LENBPGEABJK(); if (consumableInfo2 == 0 || consumableInfo2.FriendlyName == 0) { } ConsumableManager.KIDKMAOBOIG kidkmaoboig2 = kjejoajdkfo.consumable.GMMAAAGFAKO(); OOCCCGPICOG consumable6 = kjejoajdkfo.consumable; return; Block_10: int num7 = 0; this.ActivateConsumable(oocccgpicog2, num7 != 0); throw new NullReferenceException(); } // Token: 0x0600EAC1 RID: 60097 RVA: 0x0035F5EC File Offset: 0x0035D7EC [Token(Token = "0x600EAC1")] [Address(RVA = "0x1D8C830", Offset = "0x1D8B830", VA = "0x181D8C830")] public ConsumableManager() { Dictionary dictionary = new Dictionary(); this.LPPDCFEJBGA = dictionary; Dictionary dictionary2 = new Dictionary(); this.NJMOJCFCNJI = dictionary2; LinkedList linkedList = new LinkedList(); this.FLLFJEOONCC = linkedList; base..ctor(); } // Token: 0x04009A44 RID: 39492 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4009A44")] [SerializeField] private ConsumableTool defaultConsumableToolPrefab; // Token: 0x04009A45 RID: 39493 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4009A45")] [SerializeField] private ConsumableCollectionRuntimeConfig consumableCollection; // Token: 0x04009A49 RID: 39497 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4009A49")] private Dictionary LPPDCFEJBGA; // Token: 0x04009A4A RID: 39498 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4009A4A")] private Dictionary NJMOJCFCNJI; // Token: 0x04009A4B RID: 39499 [Token(Token = "0x4009A4B")] private const float OLCOPMKCBDB = 60f; // Token: 0x04009A4C RID: 39500 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4009A4C")] private LinkedList FLLFJEOONCC; // Token: 0x02002408 RID: 9224 [Token(Token = "0x2002408")] public enum FFCJLEMFFAJ { // Token: 0x04009A4E RID: 39502 [Token(Token = "0x4009A4E")] Invalid = -1, // Token: 0x04009A4F RID: 39503 [Token(Token = "0x4009A4F")] Usage, // Token: 0x04009A50 RID: 39504 [Token(Token = "0x4009A50")] Time, // Token: 0x04009A51 RID: 39505 [Token(Token = "0x4009A51")] RealWorldTime } // Token: 0x02002409 RID: 9225 [Token(Token = "0x2002409")] public enum KIDKMAOBOIG { // Token: 0x04009A53 RID: 39507 [Token(Token = "0x4009A53")] Invalid = -1, // Token: 0x04009A54 RID: 39508 [Token(Token = "0x4009A54")] CameraFilter, // Token: 0x04009A55 RID: 39509 [Token(Token = "0x4009A55")] Potion_Head = 2, // Token: 0x04009A56 RID: 39510 [Token(Token = "0x4009A56")] Potion_Hand, // Token: 0x04009A57 RID: 39511 [Token(Token = "0x4009A57")] Food, // Token: 0x04009A58 RID: 39512 [Token(Token = "0x4009A58")] KO_Customization, // Token: 0x04009A59 RID: 39513 [Token(Token = "0x4009A59")] Potion_HairDye, // Token: 0x04009A5A RID: 39514 [Token(Token = "0x4009A5A")] Coupon } // Token: 0x0200240A RID: 9226 [Token(Token = "0x200240A")] private struct DKKBNGODEOM { // Token: 0x04009A5B RID: 39515 [FieldOffset(Offset = "0x0")] [Token(Token = "0x4009A5B")] public OOCCCGPICOG BAJGNABECMN; // Token: 0x04009A5C RID: 39516 [FieldOffset(Offset = "0x8")] [Token(Token = "0x4009A5C")] public float HPIOFBILNMC; } // Token: 0x0200240E RID: 9230 [Token(Token = "0x200240E")] [CompilerGenerated] private sealed class JHIJHOMNCKN { // Token: 0x0600EAE3 RID: 60131 RVA: 0x0035FBE8 File Offset: 0x0035DDE8 [Token(Token = "0x600EAE3")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public JHIJHOMNCKN() { } // Token: 0x0600EAE4 RID: 60132 RVA: 0x0035FBFC File Offset: 0x0035DDFC [Token(Token = "0x600EAE4")] [Address(RVA = "0x1D90C40", Offset = "0x1D8FC40", VA = "0x181D90C40")] internal void b__0(string error, List selections) { if (selections != 0) { this.<>4__this.k__BackingField.AddRange(selections); List k__BackingField = this.<>4__this.k__BackingField; Comparison <>9__32_ = ConsumableManager.<>c.<>9__32_1; if (<>9__32_ == 0) { ConsumableManager.<>c.<>9__32_1 = delegate(OOCCCGPICOG x, OOCCCGPICOG y) { DateTime k__BackingField = x.k__BackingField; DateTime k__BackingField2 = y.k__BackingField; return DateTime.Compare(k__BackingField, k__BackingField2); }; } k__BackingField.Sort(<>9__32_); } BPHGKAEDBPE.HADGLCCBNHM(this.callback, error); } // Token: 0x04009A77 RID: 39543 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A77")] public ConsumableManager <>4__this; // Token: 0x04009A78 RID: 39544 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009A78")] public BPHGKAEDBPE.CBEOHBCIPEA callback; } // Token: 0x0200240F RID: 9231 [Token(Token = "0x200240F")] [CompilerGenerated] private sealed class DOANPNOOBAD { // Token: 0x0600EAE5 RID: 60133 RVA: 0x0035FC64 File Offset: 0x0035DE64 [Token(Token = "0x600EAE5")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public DOANPNOOBAD() { } // Token: 0x0600EAE6 RID: 60134 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600EAE6")] [Address(RVA = "0x1D8FAD0", Offset = "0x1D8EAD0", VA = "0x181D8FAD0")] internal bool b__0(ConsumableManager.DKKBNGODEOM c) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x04009A79 RID: 39545 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A79")] public OOCCCGPICOG consumable; } // Token: 0x02002411 RID: 9233 [Token(Token = "0x2002411")] [CompilerGenerated] private sealed class LLEOPOOCNCG { // Token: 0x0600EAED RID: 60141 RVA: 0x0035FDB4 File Offset: 0x0035DFB4 [Token(Token = "0x600EAED")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public LLEOPOOCNCG() { } // Token: 0x0600EAEE RID: 60142 RVA: 0x0035FDC8 File Offset: 0x0035DFC8 [Token(Token = "0x600EAEE")] [Address(RVA = "0x1D91880", Offset = "0x1D90880", VA = "0x181D91880")] internal List b__2(List consumables) { Dictionary> k__BackingField = this.<>4__this.k__BackingField; throw new NullReferenceException(); } // Token: 0x04009A7E RID: 39550 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A7E")] public ConsumableManager <>4__this; // Token: 0x04009A7F RID: 39551 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009A7F")] public int creatorId; } // Token: 0x02002412 RID: 9234 [Token(Token = "0x2002412")] [CompilerGenerated] private sealed class BFCGKOAPJEC { // Token: 0x0600EAEF RID: 60143 RVA: 0x0035FE40 File Offset: 0x0035E040 [Token(Token = "0x600EAEF")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public BFCGKOAPJEC() { } // Token: 0x0600EAF0 RID: 60144 RVA: 0x0035FE54 File Offset: 0x0035E054 [Token(Token = "0x600EAF0")] [Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")] internal bool b__0(OOCCCGPICOG c) { string text = this.consumableType; return string.Equals(c.k__BackingField, text); } // Token: 0x0600EAF1 RID: 60145 RVA: 0x0035FE7C File Offset: 0x0035E07C [Token(Token = "0x600EAF1")] [Address(RVA = "0x1D7F380", Offset = "0x1D7E380", VA = "0x181D7F380")] internal List b__1(List consumables) { Dictionary> k__BackingField = this.<>4__this.k__BackingField; throw new NullReferenceException(); } // Token: 0x0600EAF2 RID: 60146 RVA: 0x0035FECC File Offset: 0x0035E0CC [Token(Token = "0x600EAF2")] [Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")] internal bool b__2(OOCCCGPICOG c) { string text = this.consumableType; return string.Equals(c.k__BackingField, text); } // Token: 0x04009A80 RID: 39552 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A80")] public string consumableType; // Token: 0x04009A81 RID: 39553 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009A81")] public ConsumableManager <>4__this; // Token: 0x04009A82 RID: 39554 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4009A82")] public int creatorId; // Token: 0x04009A83 RID: 39555 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4009A83")] public Func <>9__2; } // Token: 0x02002413 RID: 9235 [Token(Token = "0x2002413")] [CompilerGenerated] private sealed class OILBDNFLMKD { // Token: 0x0600EAF3 RID: 60147 RVA: 0x0035FEF4 File Offset: 0x0035E0F4 [Token(Token = "0x600EAF3")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public OILBDNFLMKD() { } // Token: 0x0600EAF4 RID: 60148 RVA: 0x0035FF08 File Offset: 0x0035E108 [Token(Token = "0x600EAF4")] [Address(RVA = "0x1D922E0", Offset = "0x1D912E0", VA = "0x181D922E0")] internal bool b__0(OOCCCGPICOG pc) { string text = this.consumableType; bool flag = string.Equals(pc.k__BackingField, text); if (!flag) { return flag; } return !pc.k__BackingField; } // Token: 0x04009A84 RID: 39556 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A84")] public string consumableType; } // Token: 0x02002414 RID: 9236 [Token(Token = "0x2002414")] [CompilerGenerated] private sealed class BMPAPIDNKAC { // Token: 0x0600EAF5 RID: 60149 RVA: 0x0035FF40 File Offset: 0x0035E140 [Token(Token = "0x600EAF5")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public BMPAPIDNKAC() { } // Token: 0x0600EAF6 RID: 60150 RVA: 0x0035FF54 File Offset: 0x0035E154 [Token(Token = "0x600EAF6")] [Address(RVA = "0x1D7F450", Offset = "0x1D7E450", VA = "0x181D7F450")] internal bool b__0(ConsumableManager.DKKBNGODEOM ct) { long k__BackingField = this.consumable.k__BackingField; return "{il2cpp field on {'constant4' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x10}" == k__BackingField; } // Token: 0x04009A85 RID: 39557 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A85")] public OOCCCGPICOG consumable; } // Token: 0x02002415 RID: 9237 [Token(Token = "0x2002415")] [CompilerGenerated] private sealed class ODJCBMEABHI { // Token: 0x0600EAF7 RID: 60151 RVA: 0x0035FF7C File Offset: 0x0035E17C [Token(Token = "0x600EAF7")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public ODJCBMEABHI() { } // Token: 0x0600EAF8 RID: 60152 RVA: 0x0035FF90 File Offset: 0x0035E190 [Token(Token = "0x600EAF8")] [Address(RVA = "0x14C9F40", Offset = "0x14C8F40", VA = "0x1814C9F40")] internal bool b__0(OOCCCGPICOG pc) { long num = this.consumableId; return pc.k__BackingField == num; } // Token: 0x04009A86 RID: 39558 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A86")] public long consumableId; } // Token: 0x02002416 RID: 9238 [Token(Token = "0x2002416")] [CompilerGenerated] private sealed class DKELPJNFIDO { // Token: 0x0600EAF9 RID: 60153 RVA: 0x0035FFB4 File Offset: 0x0035E1B4 [Token(Token = "0x600EAF9")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public DKELPJNFIDO() { } // Token: 0x0600EAFA RID: 60154 RVA: 0x0035FFC8 File Offset: 0x0035E1C8 [Token(Token = "0x600EAFA")] [Address(RVA = "0x1D8FAA0", Offset = "0x1D8EAA0", VA = "0x181D8FAA0")] internal bool b__0(OOCCCGPICOG c) { return c.GMMAAAGFAKO() == this.category; } // Token: 0x04009A87 RID: 39559 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A87")] public ConsumableManager.KIDKMAOBOIG category; } // Token: 0x02002417 RID: 9239 [Token(Token = "0x2002417")] [CompilerGenerated] private sealed class PLNPAHNMEIH { // Token: 0x0600EAFB RID: 60155 RVA: 0x0035FFE4 File Offset: 0x0035E1E4 [Token(Token = "0x600EAFB")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public PLNPAHNMEIH() { } // Token: 0x0600EAFC RID: 60156 RVA: 0x0035FFF8 File Offset: 0x0035E1F8 [Token(Token = "0x600EAFC")] [Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")] internal bool b__0(OOCCCGPICOG c) { string text = this.type; return string.Equals(c.k__BackingField, text); } // Token: 0x04009A88 RID: 39560 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A88")] public string type; } // Token: 0x02002418 RID: 9240 [Token(Token = "0x2002418")] [CompilerGenerated] private sealed class KJEJOAJDKFO { // Token: 0x0600EAFD RID: 60157 RVA: 0x00360020 File Offset: 0x0035E220 [Token(Token = "0x600EAFD")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public KJEJOAJDKFO() { } // Token: 0x0600EAFE RID: 60158 RVA: 0x00360034 File Offset: 0x0035E234 [Token(Token = "0x600EAFE")] [Address(RVA = "0x14C9F40", Offset = "0x14C8F40", VA = "0x1814C9F40")] internal bool b__0(OOCCCGPICOG c) { long num = this.consumableId; return c.k__BackingField == num; } // Token: 0x0600EAFF RID: 60159 RVA: 0x00360058 File Offset: 0x0035E258 [Token(Token = "0x600EAFF")] [Address(RVA = "0x1D90FD0", Offset = "0x1D8FFD0", VA = "0x181D90FD0")] internal bool b__1(OOCCCGPICOG pc) { string k__BackingField = pc.k__BackingField; string k__BackingField2 = this.consumable.k__BackingField; return string.Equals(k__BackingField, k__BackingField2); } // Token: 0x04009A89 RID: 39561 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009A89")] public long consumableId; // Token: 0x04009A8A RID: 39562 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009A8A")] public OOCCCGPICOG consumable; } } }