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: 0x02002323 RID: 8995 [Token(Token = "0x2002323")] public class ConsumableManager : NetworkedSingletonMonoBehaviour { // Token: 0x140000F7 RID: 247 // (add) Token: 0x0600E683 RID: 59011 RVA: 0x00355198 File Offset: 0x00353398 // (remove) Token: 0x0600E684 RID: 59012 RVA: 0x003551C0 File Offset: 0x003533C0 [Token(Token = "0x140000F7")] public event Action HNCNGJFLMEL { [Token(Token = "0x600E683")] [Address(RVA = "0x12039F0", Offset = "0x12027F0", VA = "0x1812039F0")] [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 = "0x600E684")] [Address(RVA = "0x1203B30", Offset = "0x1202930", VA = "0x181203B30")] [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: 0x0600E685 RID: 59013 RVA: 0x003551E8 File Offset: 0x003533E8 // (remove) Token: 0x0600E686 RID: 59014 RVA: 0x00355210 File Offset: 0x00353410 [Token(Token = "0x140000F8")] public event Action BNFPEINEDCC { [Token(Token = "0x600E685")] [Address(RVA = "0x1203A90", Offset = "0x1202890", VA = "0x181203A90")] [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 = "0x600E686")] [Address(RVA = "0x1203BD0", Offset = "0x12029D0", VA = "0x181203BD0")] [CompilerGenerated] remove { Action bnfpeinedcc; Delegate @delegate; do { bnfpeinedcc = this.BNFPEINEDCC; @delegate = Delegate.Remove(bnfpeinedcc, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != bnfpeinedcc) { } } } // Token: 0x170024CB RID: 9419 // (get) Token: 0x0600E687 RID: 59015 RVA: 0x00355238 File Offset: 0x00353438 // (set) Token: 0x0600E688 RID: 59016 RVA: 0x0035524C File Offset: 0x0035344C [Token(Token = "0x170024CB")] public List HBNKDJHPFIH { [Token(Token = "0x600E687")] [Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")] get; [Token(Token = "0x600E688")] [Address(RVA = "0x567490", Offset = "0x566290", VA = "0x180567490")] private set; } // Token: 0x170024CC RID: 9420 // (get) Token: 0x0600E689 RID: 59017 RVA: 0x00355260 File Offset: 0x00353460 // (set) Token: 0x0600E68A RID: 59018 RVA: 0x00355274 File Offset: 0x00353474 [Token(Token = "0x170024CC")] public Dictionary GLGIFBBIJMO { [Token(Token = "0x600E689")] [Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")] get; [Token(Token = "0x600E68A")] [Address(RVA = "0x687270", Offset = "0x686070", VA = "0x180687270")] private set; } // Token: 0x170024CD RID: 9421 // (get) Token: 0x0600E68B RID: 59019 RVA: 0x00355288 File Offset: 0x00353488 // (set) Token: 0x0600E68C RID: 59020 RVA: 0x0035529C File Offset: 0x0035349C [Token(Token = "0x170024CD")] private Dictionary> IKCILKBNLDL { [Token(Token = "0x600E68B")] [Address(RVA = "0x4335D0", Offset = "0x4323D0", VA = "0x1804335D0")] get; [Token(Token = "0x600E68C")] [Address(RVA = "0x703580", Offset = "0x702380", VA = "0x180703580")] set; } // Token: 0x0600E68D RID: 59021 RVA: 0x003552B0 File Offset: 0x003534B0 [Token(Token = "0x600E68D")] [Address(RVA = "0x1200760", Offset = "0x11FF560", VA = "0x181200760", 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: 0x0600E68E RID: 59022 RVA: 0x003553EC File Offset: 0x003535EC [Token(Token = "0x600E68E")] [Address(RVA = "0x1202E90", Offset = "0x1201C90", VA = "0x181202E90", 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: 0x0600E68F RID: 59023 RVA: 0x00355474 File Offset: 0x00353674 [Token(Token = "0x600E68F")] [Address(RVA = "0x1203670", Offset = "0x1202470", VA = "0x181203670")] private IEnumerator Start() { /* An exception occurred when decompiling this method (0600E68F) 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: 0x0600E690 RID: 59024 RVA: 0x00355490 File Offset: 0x00353690 [Token(Token = "0x600E690")] [Address(RVA = "0x1202E40", Offset = "0x1201C40", VA = "0x181202E40")] private void LMOACMLMLAB(Scene LHECBPFGEMH) { this.NJMOJCFCNJI.Clear(); } // Token: 0x0600E691 RID: 59025 RVA: 0x003554B0 File Offset: 0x003536B0 [Token(Token = "0x600E691")] [Address(RVA = "0x1203060", Offset = "0x1201E60", VA = "0x181203060")] 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: 0x0600E692 RID: 59026 RVA: 0x0035553C File Offset: 0x0035373C [Token(Token = "0x600E692")] [Address(RVA = "0x12010D0", Offset = "0x11FFED0", VA = "0x1812010D0")] 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: 0x0600E693 RID: 59027 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600E693")] [Address(RVA = "0x1200380", Offset = "0x11FF180", VA = "0x181200380")] public void ActivateConsumable(OOCCCGPICOG KGNADIFEIML, bool CPNHCODHDAD) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600E694 RID: 59028 RVA: 0x003555EC File Offset: 0x003537EC [Token(Token = "0x600E694")] [Address(RVA = "0x12026B0", Offset = "0x12014B0", VA = "0x1812026B0")] private IEnumerator IKAOJDNCCJO() { /* An exception occurred when decompiling this method (0600E694) 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: 0x0600E695 RID: 59029 RVA: 0x00355608 File Offset: 0x00353808 [Token(Token = "0x600E695")] [Address(RVA = "0x1201410", Offset = "0x1200210", VA = "0x181201410")] 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: 0x0600E696 RID: 59030 RVA: 0x00355640 File Offset: 0x00353840 [Token(Token = "0x600E696")] [Address(RVA = "0x12038B0", Offset = "0x12026B0", VA = "0x1812038B0")] public IEnumerator UseConsumable(OOCCCGPICOG BAJGNABECMN, int FKKAPHAMPMG, BPHGKAEDBPE.CBEOHBCIPEA AFLPGGJMPOE) { return FOEHJBDMMBH.LCELAOEOIJO(BAJGNABECMN, FKKAPHAMPMG, AFLPGGJMPOE); } // Token: 0x0600E697 RID: 59031 RVA: 0x00355658 File Offset: 0x00353858 [Token(Token = "0x600E697")] [Address(RVA = "0x12036D0", Offset = "0x12024D0", VA = "0x1812036D0")] 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: 0x0600E698 RID: 59032 RVA: 0x003556A4 File Offset: 0x003538A4 [Token(Token = "0x600E698")] [Address(RVA = "0x12031E0", Offset = "0x1201FE0", VA = "0x1812031E0")] 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; dictionary.Add("Owner", inpoaaaoahi); dictionary.Add("Purpose", inpoaaaoahi); dictionary.Add("ConsumableType", BFMHPKIEKIF); long value = NJCHOELCFME.Value; dictionary.Add("ConsumableId", value); string consumableToolName = consumableInfo.ConsumableToolName; if (inpoaaaoahi == 0) { } string name = this.defaultConsumableToolPrefab.name; int viewIdField = base.JDHMIOJKLCK.viewIdField; float z = DDHPAFKBMON.z; Tool tool; PlayerSpawnedEquipment k__BackingField = tool.k__BackingField; int num = 0; if (k__BackingField != num) { PlayerSpawnedEquipment k__BackingField2 = tool.k__BackingField; int num2 = 0; k__BackingField2.HICLCBMIPIN = num2 != 0; } } Debug.LogError("Spawn Consumable For Local Player: Unable to find consumable"); throw new NullReferenceException(); } // Token: 0x0600E699 RID: 59033 RVA: 0x0035579C File Offset: 0x0035399C [Token(Token = "0x600E699")] [Address(RVA = "0x1203570", Offset = "0x1202370", VA = "0x181203570")] 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: 0x0600E69A RID: 59034 RVA: 0x003557EC File Offset: 0x003539EC [Token(Token = "0x600E69A")] [Address(RVA = "0x1202970", Offset = "0x1201770", VA = "0x181202970")] 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: 0x0600E69B RID: 59035 RVA: 0x00355844 File Offset: 0x00353A44 [Token(Token = "0x600E69B")] [Address(RVA = "0x1202C10", Offset = "0x1201A10", VA = "0x181202C10")] private IEnumerator KFCOBPNHEAK() { /* An exception occurred when decompiling this method (0600E69B) 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: 0x0600E69C RID: 59036 RVA: 0x00355868 File Offset: 0x00353A68 [Token(Token = "0x600E69C")] [Address(RVA = "0x12001D0", Offset = "0x11FEFD0", VA = "0x1812001D0")] 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: 0x0600E69D RID: 59037 RVA: 0x003558E4 File Offset: 0x00353AE4 [Token(Token = "0x600E69D")] [Address(RVA = "0x1201950", Offset = "0x1200750", VA = "0x181201950")] 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; int creatorId = OEMFFOMNDPB; dictionary2.Add(creatorId, consumables); Func <>9__43_ = ConsumableManager.<>c.<>9__43_3; if (<>9__43_ == 0) { ConsumableManager.<>c.<>9__43_3 = (OOCCCGPICOG c) => c.k__BackingField; } IEnumerable enumerable2 = Enumerable.GroupBy(consumables, <>9__43_); Func, OOCCCGPICOG> func3; if (ConsumableManager.<>c.<>9__43_4 == 0) { func3 = (IGrouping c) => Enumerable.Last(c); ConsumableManager.<>c.<>9__43_4 = func3; } return Enumerable.ToList(Enumerable.Select, OOCCCGPICOG>(enumerable2, func3)); }; } 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: 0x0600E69E RID: 59038 RVA: 0x00355984 File Offset: 0x00353B84 [Token(Token = "0x600E69E")] [Address(RVA = "0x1202500", Offset = "0x1201300", VA = "0x181202500")] public PMGCJEPKFOF> GetTransferableConsumablesOfTypeByCreatorId(string BFMHPKIEKIF, int OEMFFOMNDPB) { Dictionary> dictionary = this.k__BackingField; bool flag; if (!flag) { PMGCJEPKFOF> pmgcjepkfof = FOEHJBDMMBH.AFMKIHFMMBI(OEMFFOMNDPB); Func <>9__2; Func, List> func = delegate(List consumables) { Dictionary> dictionary2 = this.k__BackingField; int creatorId = OEMFFOMNDPB; dictionary2.Add(creatorId, consumables); Func <>9__ = <>9__2; if (<>9__ == 0) { Func func3 = delegate(OOCCCGPICOG c) { string consumableType = BFMHPKIEKIF; return string.Equals(c.k__BackingField, consumableType); }; <>9__2 = func3; } return Enumerable.ToList(Enumerable.Where(consumables, <>9__)); }; } Func func2 = delegate(OOCCCGPICOG c) { string consumableType2 = BFMHPKIEKIF; return string.Equals(c.k__BackingField, consumableType2); }; IEnumerable enumerable; List list = Enumerable.ToList(enumerable); throw new NullReferenceException(); } // Token: 0x0600E69F RID: 59039 RVA: 0x003559F0 File Offset: 0x00353BF0 [Token(Token = "0x600E69F")] [Address(RVA = "0x1201DB0", Offset = "0x1200BB0", VA = "0x181201DB0")] 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: 0x0600E6A0 RID: 59040 RVA: 0x00355A5C File Offset: 0x00353C5C [Token(Token = "0x600E6A0")] [Address(RVA = "0x12022B0", Offset = "0x12010B0", VA = "0x1812022B0")] 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: 0x0600E6A1 RID: 59041 RVA: 0x00355B40 File Offset: 0x00353D40 [Token(Token = "0x600E6A1")] [Address(RVA = "0x1201C10", Offset = "0x1200A10", VA = "0x181201C10")] 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: 0x0600E6A2 RID: 59042 RVA: 0x00355BAC File Offset: 0x00353DAC [Token(Token = "0x600E6A2")] [Address(RVA = "0x1202770", Offset = "0x1201570", VA = "0x181202770")] 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: 0x0600E6A3 RID: 59043 RVA: 0x00355BE0 File Offset: 0x00353DE0 [Token(Token = "0x600E6A3")] [Address(RVA = "0x1201F20", Offset = "0x1200D20", VA = "0x181201F20")] 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: 0x0600E6A4 RID: 59044 RVA: 0x00355C7C File Offset: 0x00353E7C [Token(Token = "0x600E6A4")] [Address(RVA = "0x1201890", Offset = "0x1200690", VA = "0x181201890")] 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: 0x0600E6A5 RID: 59045 RVA: 0x00355CBC File Offset: 0x00353EBC [Token(Token = "0x600E6A5")] [Address(RVA = "0x1201590", Offset = "0x1200390", VA = "0x181201590")] public OOCCCGPICOG GetActiveConsumableInCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK) { Dictionary dictionary = this.k__BackingField; throw new NullReferenceException(); } // Token: 0x0600E6A6 RID: 59046 RVA: 0x00355CD8 File Offset: 0x00353ED8 [Token(Token = "0x600E6A6")] [Address(RVA = "0x1202840", Offset = "0x1201640", VA = "0x181202840")] 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: 0x0600E6A7 RID: 59047 RVA: 0x00355D1C File Offset: 0x00353F1C [Token(Token = "0x600E6A7")] [Address(RVA = "0x1201D80", Offset = "0x1200B80", VA = "0x181201D80")] public ConsumableManager.KIDKMAOBOIG GetConsumableCategory(string AKAMDLHKMGM) { ConsumableInfo consumableInfo = this.TryGetConsumableInfo(AKAMDLHKMGM); if (consumableInfo != 0) { return consumableInfo.Category; } return ConsumableManager.KIDKMAOBOIG.Invalid; } // Token: 0x0600E6A8 RID: 59048 RVA: 0x00355D40 File Offset: 0x00353F40 [Token(Token = "0x600E6A8")] [Address(RVA = "0x1203830", Offset = "0x1202630", VA = "0x181203830")] public ConsumableInfo TryGetConsumableInfo(string AKAMDLHKMGM) { Dictionary lppdcfejbga = this.LPPDCFEJBGA; int num = 0; bool flag = lppdcfejbga.TryGetValue(AKAMDLHKMGM, num); throw new NullReferenceException(); } // Token: 0x0600E6A9 RID: 59049 RVA: 0x00355D64 File Offset: 0x00353F64 [Token(Token = "0x600E6A9")] [Address(RVA = "0x1202140", Offset = "0x1200F40", VA = "0x181202140")] 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) { this.NJMOJCFCNJI.Add(GEDCEIDOKJL, consumableItem); } } Debug.LogError("Tried to GetConsumablePrefab for empty type!"); throw new NullReferenceException(); } // Token: 0x0600E6AA RID: 59050 RVA: 0x00355DC8 File Offset: 0x00353FC8 [Token(Token = "0x600E6AA")] [Address(RVA = "0x1202710", Offset = "0x1201510", VA = "0x181202710")] public void InvalidateTransferableConsumablesByCreatorId(int OEMFFOMNDPB) { bool flag = this.k__BackingField.Remove(OEMFFOMNDPB); } // Token: 0x0600E6AB RID: 59051 RVA: 0x00355DE8 File Offset: 0x00353FE8 [Token(Token = "0x600E6AB")] [Address(RVA = "0x1201600", Offset = "0x1200400", VA = "0x181201600")] 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: 0x0600E6AC RID: 59052 RVA: 0x00355E40 File Offset: 0x00354040 [Token(Token = "0x600E6AC")] [Address(RVA = "0x1201750", Offset = "0x1200550", VA = "0x181201750")] 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: 0x0600E6AD RID: 59053 RVA: 0x00355E7C File Offset: 0x0035407C [Token(Token = "0x600E6AD")] [Address(RVA = "0x1202B50", Offset = "0x1201950", VA = "0x181202B50")] private void JJEGNEPGBNA(OOCCCGPICOG BAJGNABECMN, bool CNEIBILGFCO) { Action hncngjflmel = this.HNCNGJFLMEL; if (hncngjflmel != 0) { hncngjflmel(BAJGNABECMN, CNEIBILGFCO); } Debug.LogError("Error raising OnActiveConsumableChanged: " + BAJGNABECMN); } // Token: 0x0600E6AE RID: 59054 RVA: 0x00355EAC File Offset: 0x003540AC [Token(Token = "0x600E6AE")] [Address(RVA = "0x12014D0", Offset = "0x12002D0", VA = "0x1812014D0")] private void FGAIIFEMKKE(OOCCCGPICOG BAJGNABECMN, bool AKJFIEJBCJA) { Action bnfpeinedcc = this.BNFPEINEDCC; if (bnfpeinedcc != 0) { bnfpeinedcc(BAJGNABECMN, AKJFIEJBCJA); } Debug.LogError("Error raising OnPurchasedConsumableChanged: " + BAJGNABECMN); } // Token: 0x0600E6AF RID: 59055 RVA: 0x00355EDC File Offset: 0x003540DC [Token(Token = "0x600E6AF")] [Address(RVA = "0x12000F0", Offset = "0x11FEEF0", VA = "0x1812000F0")] private void AFKMKIAPOPL() { int k__BackingField = BPHGKAEDBPE.k__BackingField; bool flag = this.k__BackingField.Remove(k__BackingField); } // Token: 0x0600E6B0 RID: 59056 RVA: 0x00355F04 File Offset: 0x00354104 [Token(Token = "0x600E6B0")] [Address(RVA = "0x1202C70", Offset = "0x1201A70", VA = "0x181202C70")] 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: 0x0600E6B1 RID: 59057 RVA: 0x00355F60 File Offset: 0x00354160 [Token(Token = "0x600E6B1")] [Address(RVA = "0x1200AF0", Offset = "0x11FF8F0", VA = "0x181200AF0")] 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: 0x0600E6B2 RID: 59058 RVA: 0x00356144 File Offset: 0x00354344 [Token(Token = "0x600E6B2")] [Address(RVA = "0x1203920", Offset = "0x1202720", VA = "0x181203920")] 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: 0x0400985A RID: 39002 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400985A")] [SerializeField] private ConsumableTool defaultConsumableToolPrefab; // Token: 0x0400985B RID: 39003 [FieldOffset(Offset = "0x58")] [Token(Token = "0x400985B")] [SerializeField] private ConsumableCollectionRuntimeConfig consumableCollection; // Token: 0x0400985F RID: 39007 [FieldOffset(Offset = "0x78")] [Token(Token = "0x400985F")] private Dictionary LPPDCFEJBGA; // Token: 0x04009860 RID: 39008 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4009860")] private Dictionary NJMOJCFCNJI; // Token: 0x04009861 RID: 39009 [Token(Token = "0x4009861")] private const float OLCOPMKCBDB = 60f; // Token: 0x04009862 RID: 39010 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4009862")] private LinkedList FLLFJEOONCC; // Token: 0x02002324 RID: 8996 [Token(Token = "0x2002324")] public enum FFCJLEMFFAJ { // Token: 0x04009864 RID: 39012 [Token(Token = "0x4009864")] Invalid = -1, // Token: 0x04009865 RID: 39013 [Token(Token = "0x4009865")] Usage, // Token: 0x04009866 RID: 39014 [Token(Token = "0x4009866")] Time, // Token: 0x04009867 RID: 39015 [Token(Token = "0x4009867")] RealWorldTime } // Token: 0x02002325 RID: 8997 [Token(Token = "0x2002325")] public enum KIDKMAOBOIG { // Token: 0x04009869 RID: 39017 [Token(Token = "0x4009869")] Invalid = -1, // Token: 0x0400986A RID: 39018 [Token(Token = "0x400986A")] CameraFilter, // Token: 0x0400986B RID: 39019 [Token(Token = "0x400986B")] Potion_Head = 2, // Token: 0x0400986C RID: 39020 [Token(Token = "0x400986C")] Potion_Hand, // Token: 0x0400986D RID: 39021 [Token(Token = "0x400986D")] Food, // Token: 0x0400986E RID: 39022 [Token(Token = "0x400986E")] KO_Customization, // Token: 0x0400986F RID: 39023 [Token(Token = "0x400986F")] Potion_HairDye, // Token: 0x04009870 RID: 39024 [Token(Token = "0x4009870")] Coupon } // Token: 0x02002326 RID: 8998 [Token(Token = "0x2002326")] private struct DKKBNGODEOM { // Token: 0x04009871 RID: 39025 [FieldOffset(Offset = "0x0")] [Token(Token = "0x4009871")] public OOCCCGPICOG BAJGNABECMN; // Token: 0x04009872 RID: 39026 [FieldOffset(Offset = "0x8")] [Token(Token = "0x4009872")] public float HPIOFBILNMC; } // Token: 0x0200232A RID: 9002 [Token(Token = "0x200232A")] [CompilerGenerated] private sealed class JHIJHOMNCKN { // Token: 0x0600E6D4 RID: 59092 RVA: 0x00356740 File Offset: 0x00354940 [Token(Token = "0x600E6D4")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public JHIJHOMNCKN() { } // Token: 0x0600E6D5 RID: 59093 RVA: 0x00356754 File Offset: 0x00354954 [Token(Token = "0x600E6D5")] [Address(RVA = "0x1207D30", Offset = "0x1206B30", VA = "0x181207D30")] 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: 0x0400988D RID: 39053 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400988D")] public ConsumableManager <>4__this; // Token: 0x0400988E RID: 39054 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400988E")] public BPHGKAEDBPE.CBEOHBCIPEA callback; } // Token: 0x0200232B RID: 9003 [Token(Token = "0x200232B")] [CompilerGenerated] private sealed class DOANPNOOBAD { // Token: 0x0600E6D6 RID: 59094 RVA: 0x003567BC File Offset: 0x003549BC [Token(Token = "0x600E6D6")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public DOANPNOOBAD() { } // Token: 0x0600E6D7 RID: 59095 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600E6D7")] [Address(RVA = "0x1206BC0", Offset = "0x12059C0", VA = "0x181206BC0")] internal bool b__0(ConsumableManager.DKKBNGODEOM c) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0400988F RID: 39055 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400988F")] public OOCCCGPICOG consumable; } // Token: 0x0200232D RID: 9005 [Token(Token = "0x200232D")] [CompilerGenerated] private sealed class LLEOPOOCNCG { // Token: 0x0600E6DE RID: 59102 RVA: 0x0035690C File Offset: 0x00354B0C [Token(Token = "0x600E6DE")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public LLEOPOOCNCG() { } // Token: 0x0600E6DF RID: 59103 RVA: 0x00356920 File Offset: 0x00354B20 [Token(Token = "0x600E6DF")] [Address(RVA = "0x1208960", Offset = "0x1207760", VA = "0x181208960")] internal List b__2(List consumables) { Dictionary> k__BackingField = this.<>4__this.k__BackingField; int num = this.creatorId; k__BackingField.Add(num, consumables); Func <>9__43_ = ConsumableManager.<>c.<>9__43_3; if (<>9__43_ == 0) { ConsumableManager.<>c.<>9__43_3 = (OOCCCGPICOG c) => c.k__BackingField; } IEnumerable enumerable = Enumerable.GroupBy(consumables, <>9__43_); Func, OOCCCGPICOG> func; if (ConsumableManager.<>c.<>9__43_4 == 0) { func = (IGrouping c) => Enumerable.Last(c); ConsumableManager.<>c.<>9__43_4 = func; } return Enumerable.ToList(Enumerable.Select, OOCCCGPICOG>(enumerable, func)); } // Token: 0x04009894 RID: 39060 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009894")] public ConsumableManager <>4__this; // Token: 0x04009895 RID: 39061 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009895")] public int creatorId; } // Token: 0x0200232E RID: 9006 [Token(Token = "0x200232E")] [CompilerGenerated] private sealed class BFCGKOAPJEC { // Token: 0x0600E6E0 RID: 59104 RVA: 0x003569A4 File Offset: 0x00354BA4 [Token(Token = "0x600E6E0")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public BFCGKOAPJEC() { } // Token: 0x0600E6E1 RID: 59105 RVA: 0x003569B8 File Offset: 0x00354BB8 [Token(Token = "0x600E6E1")] [Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")] internal bool b__0(OOCCCGPICOG c) { string text = this.consumableType; return string.Equals(c.k__BackingField, text); } // Token: 0x0600E6E2 RID: 59106 RVA: 0x003569E0 File Offset: 0x00354BE0 [Token(Token = "0x600E6E2")] [Address(RVA = "0x11F6460", Offset = "0x11F5260", VA = "0x1811F6460")] internal List b__1(List consumables) { Dictionary> k__BackingField = this.<>4__this.k__BackingField; int num = this.creatorId; k__BackingField.Add(num, consumables); Func func = this.<>9__2; if (func == 0) { Func func2 = delegate(OOCCCGPICOG c) { string text = this.consumableType; return string.Equals(c.k__BackingField, text); }; this.<>9__2 = func2; } return Enumerable.ToList(Enumerable.Where(consumables, func)); } // Token: 0x0600E6E3 RID: 59107 RVA: 0x00356A3C File Offset: 0x00354C3C [Token(Token = "0x600E6E3")] [Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")] internal bool b__2(OOCCCGPICOG c) { string text = this.consumableType; return string.Equals(c.k__BackingField, text); } // Token: 0x04009896 RID: 39062 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4009896")] public string consumableType; // Token: 0x04009897 RID: 39063 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4009897")] public ConsumableManager <>4__this; // Token: 0x04009898 RID: 39064 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4009898")] public int creatorId; // Token: 0x04009899 RID: 39065 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4009899")] public Func <>9__2; } // Token: 0x0200232F RID: 9007 [Token(Token = "0x200232F")] [CompilerGenerated] private sealed class OILBDNFLMKD { // Token: 0x0600E6E4 RID: 59108 RVA: 0x00356A64 File Offset: 0x00354C64 [Token(Token = "0x600E6E4")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public OILBDNFLMKD() { } // Token: 0x0600E6E5 RID: 59109 RVA: 0x00356A78 File Offset: 0x00354C78 [Token(Token = "0x600E6E5")] [Address(RVA = "0x12093D0", Offset = "0x12081D0", VA = "0x1812093D0")] 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: 0x0400989A RID: 39066 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400989A")] public string consumableType; } // Token: 0x02002330 RID: 9008 [Token(Token = "0x2002330")] [CompilerGenerated] private sealed class BMPAPIDNKAC { // Token: 0x0600E6E6 RID: 59110 RVA: 0x00356AB0 File Offset: 0x00354CB0 [Token(Token = "0x600E6E6")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public BMPAPIDNKAC() { } // Token: 0x0600E6E7 RID: 59111 RVA: 0x00356AC4 File Offset: 0x00354CC4 [Token(Token = "0x600E6E7")] [Address(RVA = "0x11F6530", Offset = "0x11F5330", VA = "0x1811F6530")] 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: 0x0400989B RID: 39067 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400989B")] public OOCCCGPICOG consumable; } // Token: 0x02002331 RID: 9009 [Token(Token = "0x2002331")] [CompilerGenerated] private sealed class ODJCBMEABHI { // Token: 0x0600E6E8 RID: 59112 RVA: 0x00356AEC File Offset: 0x00354CEC [Token(Token = "0x600E6E8")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public ODJCBMEABHI() { } // Token: 0x0600E6E9 RID: 59113 RVA: 0x00356B00 File Offset: 0x00354D00 [Token(Token = "0x600E6E9")] [Address(RVA = "0x8E72B0", Offset = "0x8E60B0", VA = "0x1808E72B0")] internal bool b__0(OOCCCGPICOG pc) { long num = this.consumableId; return pc.k__BackingField == num; } // Token: 0x0400989C RID: 39068 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400989C")] public long consumableId; } // Token: 0x02002332 RID: 9010 [Token(Token = "0x2002332")] [CompilerGenerated] private sealed class DKELPJNFIDO { // Token: 0x0600E6EA RID: 59114 RVA: 0x00356B24 File Offset: 0x00354D24 [Token(Token = "0x600E6EA")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public DKELPJNFIDO() { } // Token: 0x0600E6EB RID: 59115 RVA: 0x00356B38 File Offset: 0x00354D38 [Token(Token = "0x600E6EB")] [Address(RVA = "0x1206B90", Offset = "0x1205990", VA = "0x181206B90")] internal bool b__0(OOCCCGPICOG c) { return c.GMMAAAGFAKO() == this.category; } // Token: 0x0400989D RID: 39069 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400989D")] public ConsumableManager.KIDKMAOBOIG category; } // Token: 0x02002333 RID: 9011 [Token(Token = "0x2002333")] [CompilerGenerated] private sealed class PLNPAHNMEIH { // Token: 0x0600E6EC RID: 59116 RVA: 0x00356B54 File Offset: 0x00354D54 [Token(Token = "0x600E6EC")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public PLNPAHNMEIH() { } // Token: 0x0600E6ED RID: 59117 RVA: 0x00356B68 File Offset: 0x00354D68 [Token(Token = "0x600E6ED")] [Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")] internal bool b__0(OOCCCGPICOG c) { string text = this.type; return string.Equals(c.k__BackingField, text); } // Token: 0x0400989E RID: 39070 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400989E")] public string type; } // Token: 0x02002334 RID: 9012 [Token(Token = "0x2002334")] [CompilerGenerated] private sealed class KJEJOAJDKFO { // Token: 0x0600E6EE RID: 59118 RVA: 0x00356B90 File Offset: 0x00354D90 [Token(Token = "0x600E6EE")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public KJEJOAJDKFO() { } // Token: 0x0600E6EF RID: 59119 RVA: 0x00356BA4 File Offset: 0x00354DA4 [Token(Token = "0x600E6EF")] [Address(RVA = "0x8E72B0", Offset = "0x8E60B0", VA = "0x1808E72B0")] internal bool b__0(OOCCCGPICOG c) { long num = this.consumableId; return c.k__BackingField == num; } // Token: 0x0600E6F0 RID: 59120 RVA: 0x00356BC8 File Offset: 0x00354DC8 [Token(Token = "0x600E6F0")] [Address(RVA = "0x12080B0", Offset = "0x1206EB0", VA = "0x1812080B0")] 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: 0x0400989F RID: 39071 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400989F")] public long consumableId; // Token: 0x040098A0 RID: 39072 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40098A0")] public OOCCCGPICOG consumable; } } }