using System; using System.Collections; using System.Collections.Generic; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Core.Pools; using UnityEngine; namespace RecRoom { // Token: 0x020020A2 RID: 8354 [Token(Token = "0x20020A2")] public class CurrencyManager : SingletonMonoBehaviour { // Token: 0x170021F5 RID: 8693 // (get) Token: 0x0600D576 RID: 54646 RVA: 0x00316AD8 File Offset: 0x00314CD8 [Token(Token = "0x170021F5")] public bool BJHGECKBCEO { [Token(Token = "0x600D576")] [Address(RVA = "0x805570", Offset = "0x804370", VA = "0x180805570")] get { while (this.CCGHGCJJONJ != 0) { } } } // Token: 0x170021F6 RID: 8694 // (get) Token: 0x0600D577 RID: 54647 RVA: 0x00316AF0 File Offset: 0x00314CF0 [Token(Token = "0x170021F6")] public bool HOGICELBMNA { [Token(Token = "0x600D577")] [Address(RVA = "0x805520", Offset = "0x804320", VA = "0x180805520")] get { while (this.PNABCMMHIHC != 0) { } } } // Token: 0x170021F7 RID: 8695 // (get) Token: 0x0600D578 RID: 54648 RVA: 0x00316B08 File Offset: 0x00314D08 [Token(Token = "0x170021F7")] private bool DEKMHMEINCI { [Token(Token = "0x600D578")] [Address(RVA = "0x8047E0", Offset = "0x8035E0", VA = "0x1808047E0")] get { Transform transform = Player.k__BackingField.head.transform; Vector3 vector; float z = vector.z; float z2 = Player.k__BackingField.k__BackingField.z; Vector3 vector2; float z3 = vector2.z; throw new NullReferenceException(); } } // Token: 0x0600D579 RID: 54649 RVA: 0x00316B50 File Offset: 0x00314D50 [Token(Token = "0x600D579")] [Address(RVA = "0x804210", Offset = "0x803010", VA = "0x180804210", Slot = "4")] protected override void Awake() { base.Awake(); MFBGLIHGCGO> bpbdcmoohlk = GEAPBDGCKMB.BPBDCMOOHLK; Action> action = new Action(this.BPBDCMOOHLK); GEAPBDGCKMB.BPBDCMOOHLK = MFBGLIHGCGO.BPJDFPACLMK(bpbdcmoohlk, action); } // Token: 0x0600D57A RID: 54650 RVA: 0x00316B84 File Offset: 0x00314D84 [Token(Token = "0x600D57A")] [Address(RVA = "0x805040", Offset = "0x803E40", VA = "0x180805040", Slot = "5")] protected override void OnDestroy() { base.OnDestroy(); MFBGLIHGCGO> bpbdcmoohlk = GEAPBDGCKMB.BPBDCMOOHLK; Action> action = new Action(this.BPBDCMOOHLK); GEAPBDGCKMB.BPBDCMOOHLK = MFBGLIHGCGO.GMNMHGMFGOL(bpbdcmoohlk, action); } // Token: 0x0600D57B RID: 54651 RVA: 0x00316BB8 File Offset: 0x00314DB8 [Token(Token = "0x600D57B")] [Address(RVA = "0x804530", Offset = "0x803330", VA = "0x180804530")] private void BPBDCMOOHLK(GEAPBDGCKMB.BalanceUpdateResponseDTO MAOOLFEBOOD) { int num; do { num = 0; bool flag; if (flag) { while (!flag) { } while (!flag) { } PMGCJEPKFOF pmgcjepkfof; if (MAOOLFEBOOD == (ulong)101L && SingletonMonoBehaviour.ONCPNMDGGKG != 0 && pmgcjepkfof == (ulong)2L) { continue; } CurrencyManager.CurrencyTypeSettings currencyTypeSettings; while (currencyTypeSettings == 0) { } while (currencyTypeSettings.skipAwardNotifications) { } IEnumerator enumerator; KFBABPAPIMB kfbabpapimb = SingletonMonoBehaviour.ONCPNMDGGKG.Run(this, enumerator); this.CCGHGCJJONJ = kfbabpapimb; } } while (num != 0); } // Token: 0x0600D57C RID: 54652 RVA: 0x00316C20 File Offset: 0x00314E20 [Token(Token = "0x600D57C")] [Address(RVA = "0x804A50", Offset = "0x803850", VA = "0x180804A50")] private IEnumerator FNNPEBPMION(CurrencyManager.CurrencyAward FPHMMOJOLBB) { /* An exception occurred when decompiling this method (0600D57C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.CurrencyManager::FNNPEBPMION(RecRoom.CurrencyManager/CurrencyAward) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(ABLJAGAGLCH::System.IDisposable.Dispose, ldloc:ABLJAGAGLCH(var_0)) stfld:CurrencyManager(ABLJAGAGLCH::<>4__this, ldloc:ABLJAGAGLCH(var_0), ldloc:CurrencyManager(this)) stloc:DKMCNBHMKIK(var_1_13, ldfld:DKMCNBHMKIK(CurrencyAward::balanceAddType, ldloc:CurrencyAward[exp:valuetype RecRoom.CurrencyManager/CurrencyAward&](FPHMMOJOLBB))) stfld:int32(ABLJAGAGLCH::<>1__state, ldloc:ABLJAGAGLCH(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:DKMCNBHMKIK(CurrencyAward::balanceAddType, ldfld:CurrencyAward[exp:valuetype RecRoom.CurrencyManager/CurrencyAward&](ABLJAGAGLCH::currencyAward, ldloc:ABLJAGAGLCH(var_0)), ldloc:DKMCNBHMKIK(var_1_13)) } 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 1660 */; } // Token: 0x0600D57D RID: 54653 RVA: 0x00316C58 File Offset: 0x00314E58 [Token(Token = "0x600D57D")] [Address(RVA = "0x805110", Offset = "0x803F10", VA = "0x180805110")] public void ReceiveCurrencyAwardFromGiftBox(Player FAGBHOMBNBP, int JBHHGNEADNC, ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE, Transform CBKILDKGKHK) { } // Token: 0x0600D57E RID: 54654 RVA: 0x00316C68 File Offset: 0x00314E68 [Token(Token = "0x600D57E")] [Address(RVA = "0x805170", Offset = "0x803F70", VA = "0x180805170")] public void StartReceiveCurrencyAwardsCoroutine(Player AGHAGCKIPIK, CurrencyManager.CurrencyAward NEMAPMFAPNN, Transform CBKILDKGKHK, bool JCGKKHEFNIK) { if (this.PNABCMMHIHC != 0) { KFBABPAPIMB pnabcmmhihc = this.PNABCMMHIHC; } Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG; CurrencyManager.ICLAHBIDBGH iclahbidbgh; iclahbidbgh.System.IDisposable.Dispose(); iclahbidbgh.<>1__state = (int)((ulong)0L); iclahbidbgh.<>4__this = this; iclahbidbgh.targetPlayer = AGHAGCKIPIK; iclahbidbgh.spawnTransform = CBKILDKGKHK; iclahbidbgh.fromGiftBox = false; DKMCNBHMKIK balanceAddType = NEMAPMFAPNN.balanceAddType; iclahbidbgh.award.balanceAddType = balanceAddType; KFBABPAPIMB kfbabpapimb = instance.Run(this, iclahbidbgh); this.PNABCMMHIHC = kfbabpapimb; } // Token: 0x0600D57F RID: 54655 RVA: 0x00316CE4 File Offset: 0x00314EE4 [Token(Token = "0x600D57F")] [Address(RVA = "0x8052E0", Offset = "0x8040E0", VA = "0x1808052E0")] public void StopReceiveCurrencyAwardsCoroutine() { if (this.PNABCMMHIHC != 0) { KFBABPAPIMB pnabcmmhihc = this.PNABCMMHIHC; } } // Token: 0x0600D580 RID: 54656 RVA: 0x00316D08 File Offset: 0x00314F08 [Token(Token = "0x600D580")] [Address(RVA = "0x804ED0", Offset = "0x803CD0", VA = "0x180804ED0")] private IEnumerator MGBFMKCKGMO(Player AGHAGCKIPIK, CurrencyManager.CurrencyAward NEMAPMFAPNN, Transform CBKILDKGKHK, bool JCGKKHEFNIK) { /* An exception occurred when decompiling this method (0600D580) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.CurrencyManager::MGBFMKCKGMO(Player,RecRoom.CurrencyManager/CurrencyAward,UnityEngine.Transform,System.Boolean) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(ICLAHBIDBGH::System.IDisposable.Dispose, ldloc:ICLAHBIDBGH(var_0)) stloc:DKMCNBHMKIK(var_1_0C, ldfld:DKMCNBHMKIK(CurrencyAward::balanceAddType, ldloc:CurrencyAward[exp:valuetype RecRoom.CurrencyManager/CurrencyAward&](NEMAPMFAPNN))) stfld:Player(ICLAHBIDBGH::targetPlayer, ldloc:ICLAHBIDBGH(var_0), ldloc:Player(AGHAGCKIPIK)) stfld:Transform(ICLAHBIDBGH::spawnTransform, ldloc:ICLAHBIDBGH(var_0), ldloc:Transform(CBKILDKGKHK)) stfld:DKMCNBHMKIK(CurrencyAward::balanceAddType, ldfld:CurrencyAward[exp:valuetype RecRoom.CurrencyManager/CurrencyAward&](ICLAHBIDBGH::award, ldloc:ICLAHBIDBGH(var_0)), ldloc:DKMCNBHMKIK(var_1_0C)) stfld:int32(ICLAHBIDBGH::<>1__state, ldloc:ICLAHBIDBGH(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:CurrencyManager(ICLAHBIDBGH::<>4__this, ldloc:ICLAHBIDBGH(var_0), ldloc:CurrencyManager(this)) stfld:bool(ICLAHBIDBGH::fromGiftBox, ldloc:ICLAHBIDBGH(var_0), ldc.i4:bool(0)) } 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 1660 */; } // Token: 0x0600D581 RID: 54657 RVA: 0x00316D54 File Offset: 0x00314F54 [Token(Token = "0x600D581")] [Address(RVA = "0x804DA0", Offset = "0x803BA0", VA = "0x180804DA0")] private IEnumerator HCHNKMNBIBB(Player AGHAGCKIPIK, int DDHJGFIHFGL, Transform CBKILDKGKHK, CurrencyManager.NotificationTimings MONFHJEHALP, ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE, bool JCGKKHEFNIK) { /* An exception occurred when decompiling this method (0600D581) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.CurrencyManager::HCHNKMNBIBB(Player,System.Int32,UnityEngine.Transform,RecRoom.CurrencyManager/NotificationTimings,ACDKILABNNC,System.Nullable`1,System.Boolean) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(DNMCEKFIHFI::System.IDisposable.Dispose, ldloc:DNMCEKFIHFI(var_0)) stfld:ACDKILABNNC(DNMCEKFIHFI::currencyType, ldloc:DNMCEKFIHFI(var_0), ldc.i4:ACDKILABNNC(0)) stfld:valuetype [mscorlib]System.Nullable`1(DNMCEKFIHFI::platformType, ldloc:DNMCEKFIHFI(var_0), ldc.i4:int32[exp:valuetype [mscorlib]System.Nullable`1](0)) stfld:bool(DNMCEKFIHFI::fromGiftBox, ldloc:DNMCEKFIHFI(var_0), ldc.i4:bool(0)) stfld:Player(DNMCEKFIHFI::targetPlayer, ldloc:DNMCEKFIHFI(var_0), ldloc:Player(AGHAGCKIPIK)) stfld:int32(DNMCEKFIHFI::awardAmount, ldloc:DNMCEKFIHFI(var_0), ldloc:int32(DDHJGFIHFGL)) stfld:Transform(DNMCEKFIHFI::spawnTransform, ldloc:DNMCEKFIHFI(var_0), ldloc:Transform(CBKILDKGKHK)) stfld:int32(DNMCEKFIHFI::<>1__state, ldloc:DNMCEKFIHFI(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:CurrencyManager(DNMCEKFIHFI::<>4__this, ldloc:DNMCEKFIHFI(var_0), ldloc:CurrencyManager(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 1660 */; } // Token: 0x0600D582 RID: 54658 RVA: 0x00316DA0 File Offset: 0x00314FA0 [Token(Token = "0x600D582")] [Address(RVA = "0x804AD0", Offset = "0x8038D0", VA = "0x180804AD0")] private void GBBCOPKOPKE(float DDHJGFIHFGL, float ENCKBCHIPCL, Transform CBKILDKGKHK, CurrencyManager.CurrencyTypeSettings GHGBPMPLLBK) { GlobalPool instance = GlobalPool.ONCPNMDGGKG; PooledParticle pooledParticle; Transform transform = pooledParticle.transform; Vector3 vector; float z = vector.z; Transform transform2 = pooledParticle.transform; ParticleSystem.MainModule main = pooledParticle.k__BackingField.main; ParticleSystem.MainModule main2 = pooledParticle.k__BackingField.main; int num = 0; pooledParticle.Play(num != 0, -1f); } // Token: 0x0600D583 RID: 54659 RVA: 0x00316E00 File Offset: 0x00315000 [Token(Token = "0x600D583")] [Address(RVA = "0x8042E0", Offset = "0x8030E0", VA = "0x1808042E0")] private void BFEBGOPHPBK(Player AGHAGCKIPIK, int DDHJGFIHFGL, Vector3 CAOHCBNEEND, CurrencyManager.NotificationTimings MONFHJEHALP, ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE) { CurrencyManager.CurrencyTypeSettings currencyTypeSettings; if (currencyTypeSettings != 0) { } int num = 0; int num2 = 0; bool flag = num != num2; if (!flag) { Debug.LogError("Collectible prefab for " + flag + " is null"); } if (CurrencyManager.<>c.<>9__34_0 == 0) { CurrencyManager.<>c.<>9__34_0 = delegate { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; } float z = CAOHCBNEEND.z; IEnumerator enumerator; Coroutine coroutine = base.StartCoroutine(enumerator); } // Token: 0x0600D584 RID: 54660 RVA: 0x00316E68 File Offset: 0x00315068 [Token(Token = "0x600D584")] [Address(RVA = "0x804130", Offset = "0x802F30", VA = "0x180804130")] private IEnumerator AMIDOAEOCOB(WorldSpaceNotification NOEDFHOANIO, string ACPMLLINIMG, int DDHJGFIHFGL, int PIIFLHOIFNK, Vector3 CAOHCBNEEND, Quaternion IGPENJBJADK, CurrencyManager.NotificationTimings MONFHJEHALP, ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE) { /* An exception occurred when decompiling this method (0600D584) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.CurrencyManager::AMIDOAEOCOB(WorldSpaceNotification,System.String,System.Int32,System.Int32,UnityEngine.Vector3,UnityEngine.Quaternion,RecRoom.CurrencyManager/NotificationTimings,ACDKILABNNC,System.Nullable`1) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(MMKHADIFDMK::System.IDisposable.Dispose, ldloc:MMKHADIFDMK(var_0)) stfld:int32(MMKHADIFDMK::previousAward, ldloc:MMKHADIFDMK(var_0), ldc.i4:int32(0)) stfld:WorldSpaceNotification(MMKHADIFDMK::notification, ldloc:MMKHADIFDMK(var_0), ldloc:WorldSpaceNotification(NOEDFHOANIO)) stfld:string(MMKHADIFDMK::subtitle, ldloc:MMKHADIFDMK(var_0), ldloc:string(ACPMLLINIMG)) stfld:float32(Vector3::z, ldfld:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](MMKHADIFDMK::spawnPosition, ldloc:MMKHADIFDMK(var_0)), ldloc:MMKHADIFDMK[exp:float32](var_0)) stfld:int32(MMKHADIFDMK::awardAmount, ldloc:MMKHADIFDMK(var_0), ldloc:int32(DDHJGFIHFGL)) stfld:int32(MMKHADIFDMK::<>1__state, ldloc:MMKHADIFDMK(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:CurrencyManager(MMKHADIFDMK::<>4__this, ldloc:MMKHADIFDMK(var_0), ldloc:CurrencyManager(this)) stfld:ACDKILABNNC(MMKHADIFDMK::currencyType, ldloc:MMKHADIFDMK(var_0), ldc.i4:ACDKILABNNC(0)) stfld:valuetype [mscorlib]System.Nullable`1(MMKHADIFDMK::platformType, ldloc:MMKHADIFDMK(var_0), ldc.i4:int32[exp:valuetype [mscorlib]System.Nullable`1](0)) } 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 1660 */; } // Token: 0x0600D585 RID: 54661 RVA: 0x00316EC0 File Offset: 0x003150C0 [Token(Token = "0x600D585")] [Address(RVA = "0x804F80", Offset = "0x803D80", VA = "0x180804F80")] private CurrencyManager.CurrencyTypeSettings NPLGPEONBLD(ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE) { CurrencyManager.CurrencyTypeSettings[] array = this.currencyTypeSettings; int num = 0; int length = array.Length; if (num < length) { CurrencyManager.CurrencyTypeSettings currencyTypeSettings = array[num]; bool flag; if (currencyTypeSettings.currencyType != DLNFAILEHOA || !flag) { num++; } return currencyTypeSettings; } throw new NullReferenceException(); } // Token: 0x0600D586 RID: 54662 RVA: 0x00316F08 File Offset: 0x00315108 [Token(Token = "0x600D586")] [Address(RVA = "0x804E60", Offset = "0x803C60", VA = "0x180804E60")] private bool INBCPECPLJH(CurrencyManager.CurrencyTypeSettings GHGBPMPLLBK, ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE) { if (DLNFAILEHOA != ACDKILABNNC.RecCenterTokens) { return true; } MLFKNFFOOPF[] platformTypes = GHGBPMPLLBK.platformTypes; bool flag; return !flag; } // Token: 0x0600D587 RID: 54663 RVA: 0x00316F2C File Offset: 0x0031512C [Token(Token = "0x600D587")] [Address(RVA = "0x805360", Offset = "0x804160", VA = "0x180805360")] public string ToCurrencyString(long JDBAMHBKHPA, ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE) { CurrencyManager.CurrencyTypeSettings currencyTypeSettings; string text; if ((ulong)(-9223372036854775808L) == (ulong)JDBAMHBKHPA) { if (currencyTypeSettings == 0 && (uint)1 == 0U) { return text; } } while (currencyTypeSettings == 0) { } return text; } // Token: 0x0600D588 RID: 54664 RVA: 0x00316F58 File Offset: 0x00315158 [Token(Token = "0x600D588")] [Address(RVA = "0x804D00", Offset = "0x803B00", VA = "0x180804D00")] public string GetPluralCurrencyName(ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE) { CurrencyManager.CurrencyTypeSettings currencyTypeSettings; if (currencyTypeSettings == 0) { return "Tokens"; } string currencyName = currencyTypeSettings.currencyName; if (currencyTypeSettings.currencyNameSingularOnly) { } return currencyName + "s"; } // Token: 0x0600D589 RID: 54665 RVA: 0x00316F8C File Offset: 0x0031518C [Token(Token = "0x600D589")] [Address(RVA = "0x804CE0", Offset = "0x803AE0", VA = "0x180804CE0")] public SpawnableCollectible GetCurrencyPrefab(ACDKILABNNC DLNFAILEHOA, MLFKNFFOOPF? DOLIGIACECE) { CurrencyManager.CurrencyTypeSettings currencyTypeSettings; do { currencyTypeSettings = this.NPLGPEONBLD(DLNFAILEHOA, DOLIGIACECE); } while (currencyTypeSettings == 0); return currencyTypeSettings.currencyPrefab; } // Token: 0x0600D58A RID: 54666 RVA: 0x00316FAC File Offset: 0x003151AC [Token(Token = "0x600D58A")] [Address(RVA = "0x805460", Offset = "0x804260", VA = "0x180805460")] public CurrencyManager() { int num = 0; this.postBaseAwardDelay = 0.65f; this.preFinishAudioDelay = 0.5f; CurrencyManager.CurrencyTypeSettings[] array = new CurrencyManager.CurrencyTypeSettings[num]; this.currencyTypeSettings = array; this.bonusSubtitleTemplate = "Daily bonus {0}/{1}"; this.awardNoDailySubtitle = "Daily bonus complete"; this.titleTemplate = "You've won {0}"; this.celebrateParticleSpacing = 0.4f; this.ANOEOCCPOPE = (int)((ulong)1L); base..ctor(); } // Token: 0x040088CD RID: 35021 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40088CD")] [SerializeField] [Header("Award Timings")] private CurrencyManager.NotificationTimings baseAwardNotificationTimings; // Token: 0x040088CE RID: 35022 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40088CE")] [SerializeField] private CurrencyManager.NotificationTimings bonusAwardNotificationTimings; // Token: 0x040088CF RID: 35023 [FieldOffset(Offset = "0x58")] [Token(Token = "0x40088CF")] [SerializeField] private float postSpawnDelay = 0.5f; // Token: 0x040088D0 RID: 35024 [FieldOffset(Offset = "0x5C")] [Token(Token = "0x40088D0")] [SerializeField] private float postBaseAwardDelay; // Token: 0x040088D1 RID: 35025 [FieldOffset(Offset = "0x60")] [Token(Token = "0x40088D1")] [SerializeField] public float preFinishAudioDelay; // Token: 0x040088D2 RID: 35026 [FieldOffset(Offset = "0x68")] [Token(Token = "0x40088D2")] [SerializeField] [Header("Texts")] private CurrencyManager.CurrencyTypeSettings[] currencyTypeSettings; // Token: 0x040088D3 RID: 35027 [FieldOffset(Offset = "0x70")] [Token(Token = "0x40088D3")] [SerializeField] private string bonusSubtitleTemplate; // Token: 0x040088D4 RID: 35028 [FieldOffset(Offset = "0x78")] [Token(Token = "0x40088D4")] [SerializeField] private string awardNoDailySubtitle; // Token: 0x040088D5 RID: 35029 [FieldOffset(Offset = "0x80")] [Token(Token = "0x40088D5")] [SerializeField] private string titleTemplate; // Token: 0x040088D6 RID: 35030 [FieldOffset(Offset = "0x88")] [Token(Token = "0x40088D6")] [SerializeField] [Header("Particles")] private PooledParticle celebrateParticlePrefab; // Token: 0x040088D7 RID: 35031 [FieldOffset(Offset = "0x90")] [Token(Token = "0x40088D7")] [SerializeField] private float celebrateParticleSpacing; // Token: 0x040088D8 RID: 35032 [FieldOffset(Offset = "0x94")] [Token(Token = "0x40088D8")] private int ANOEOCCPOPE; // Token: 0x040088D9 RID: 35033 [FieldOffset(Offset = "0x98")] [Token(Token = "0x40088D9")] private KFBABPAPIMB PNABCMMHIHC; // Token: 0x040088DA RID: 35034 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x40088DA")] private KFBABPAPIMB CCGHGCJJONJ; // Token: 0x040088DB RID: 35035 [FieldOffset(Offset = "0xA8")] [Token(Token = "0x40088DB")] private GameObject AOBKCHPPNNC; // Token: 0x020020A3 RID: 8355 [Token(Token = "0x20020A3")] [Serializable] public struct NotificationTimings { // Token: 0x040088DC RID: 35036 [FieldOffset(Offset = "0x0")] [Token(Token = "0x40088DC")] public float preCollectableDelay; // Token: 0x040088DD RID: 35037 [FieldOffset(Offset = "0x4")] [Token(Token = "0x40088DD")] public float collectableSpawnDuration; // Token: 0x040088DE RID: 35038 [FieldOffset(Offset = "0x8")] [Token(Token = "0x40088DE")] public float postCollectableDelay; // Token: 0x040088DF RID: 35039 [FieldOffset(Offset = "0xC")] [Token(Token = "0x40088DF")] public float awardCountDuration; // Token: 0x040088E0 RID: 35040 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40088E0")] public float awardCountTickFrequency; // Token: 0x040088E1 RID: 35041 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40088E1")] public RecRoomAudioClip celebrationStartAudio; } // Token: 0x020020A4 RID: 8356 [Token(Token = "0x20020A4")] [Serializable] public class CurrencyTypeSettings { // Token: 0x0600D58B RID: 54667 RVA: 0x00317028 File Offset: 0x00315228 [Token(Token = "0x600D58B")] [Address(RVA = "0x8055C0", Offset = "0x8043C0", VA = "0x1808055C0")] public CurrencyTypeSettings() { AnimationCurve animationCurve = AnimationCurve.Linear((float)0, 1f, 1f, 1f); this.particleSpawnAmounts = animationCurve; AnimationCurve animationCurve2 = AnimationCurve.Linear((float)0, 1f, 1f, 1f); this.particleSpawnDurations = animationCurve2; base..ctor(); } // Token: 0x040088E2 RID: 35042 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40088E2")] public ACDKILABNNC currencyType; // Token: 0x040088E3 RID: 35043 [FieldOffset(Offset = "0x14")] [Token(Token = "0x40088E3")] public bool isPlatformSpecific; // Token: 0x040088E4 RID: 35044 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40088E4")] public MLFKNFFOOPF[] platformTypes; // Token: 0x040088E5 RID: 35045 [FieldOffset(Offset = "0x20")] [Token(Token = "0x40088E5")] public string currencyName; // Token: 0x040088E6 RID: 35046 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40088E6")] public bool currencyNameSingularOnly; // Token: 0x040088E7 RID: 35047 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40088E7")] public SpawnableCollectible currencyPrefab; // Token: 0x040088E8 RID: 35048 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40088E8")] public PooledParticle currencyBoxAwardFx; // Token: 0x040088E9 RID: 35049 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40088E9")] public AnimationCurve particleSpawnAmounts; // Token: 0x040088EA RID: 35050 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40088EA")] public AnimationCurve particleSpawnDurations; // Token: 0x040088EB RID: 35051 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40088EB")] public bool skipAwardNotifications; // Token: 0x040088EC RID: 35052 [FieldOffset(Offset = "0x58")] [Token(Token = "0x40088EC")] [Header("Audio")] public RecRoomAudioClip celebrationFinishAudio; // Token: 0x040088ED RID: 35053 [FieldOffset(Offset = "0x60")] [Token(Token = "0x40088ED")] public RecRoomAudioClip dispensingCurrencyAudioClip; // Token: 0x040088EE RID: 35054 [FieldOffset(Offset = "0x68")] [Token(Token = "0x40088EE")] public RecRoomAudioClip dispensingCurrencyShortAudioClip; // Token: 0x040088EF RID: 35055 [FieldOffset(Offset = "0x70")] [Token(Token = "0x40088EF")] public RecRoomAudioClip countingCurrencyAudioClip; // Token: 0x040088F0 RID: 35056 [FieldOffset(Offset = "0x78")] [Token(Token = "0x40088F0")] public int smallAmountThreshold; } // Token: 0x020020A5 RID: 8357 [Token(Token = "0x20020A5")] [Serializable] public struct CurrencyAward { // Token: 0x040088F1 RID: 35057 [FieldOffset(Offset = "0x0")] [Token(Token = "0x40088F1")] public int baseAward; // Token: 0x040088F2 RID: 35058 [FieldOffset(Offset = "0x4")] [Token(Token = "0x40088F2")] public int bonusAward; // Token: 0x040088F3 RID: 35059 [FieldOffset(Offset = "0x8")] [Token(Token = "0x40088F3")] public int currentCount; // Token: 0x040088F4 RID: 35060 [FieldOffset(Offset = "0xC")] [Token(Token = "0x40088F4")] public int rateLimit; // Token: 0x040088F5 RID: 35061 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40088F5")] public DKMCNBHMKIK balanceAddType; // Token: 0x040088F6 RID: 35062 [FieldOffset(Offset = "0x14")] [Token(Token = "0x40088F6")] public ACDKILABNNC currencyType; // Token: 0x040088F7 RID: 35063 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40088F7")] public MLFKNFFOOPF? platformType; } } }