using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using AGUI.StackedUI.Dialog; using Cpp2IlInjected; using RecNet; using RecRoom.Core; using UnityEngine; namespace RecRoom { // Token: 0x020020B2 RID: 8370 [Token(Token = "0x20020B2")] public class PlayerEventEngagementManager : SingletonMonoBehaviour { // Token: 0x0600D5DC RID: 54748 RVA: 0x0031867C File Offset: 0x0031687C [Token(Token = "0x600D5DC")] [Address(RVA = "0xE38330", Offset = "0xE37130", VA = "0x180E38330", Slot = "4")] protected override void Awake() { base.Awake(); OKNNKFGFODL dokminnfcgc = Matchmaking.DOKMINNFCGC; Action action = new Action(this.DOKMINNFCGC); Matchmaking.DOKMINNFCGC = OKNNKFGFODL.BPJDFPACLMK(dokminnfcgc, action); } // Token: 0x0600D5DD RID: 54749 RVA: 0x003186B0 File Offset: 0x003168B0 [Token(Token = "0x600D5DD")] [Address(RVA = "0xE384A0", Offset = "0xE372A0", VA = "0x180E384A0")] private void DOKMINNFCGC() { long k__BackingField = Matchmaking.BBJAEJHMAPB.k__BackingField; if (GNPDMBPGHBH.BCCLDNMGJCD(k__BackingField) && this.HENBNBDKBIB.Add(k__BackingField)) { Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG; PlayerEventEngagementManager.HGALJECHGDB hgaljechgdb; hgaljechgdb.System.IDisposable.Dispose(); hgaljechgdb.<>1__state = (int)((ulong)0L); hgaljechgdb.<>4__this = this; hgaljechgdb.playerEventId = k__BackingField; KFBABPAPIMB kfbabpapimb = instance.Run(this, hgaljechgdb); } } // Token: 0x0600D5DE RID: 54750 RVA: 0x00318718 File Offset: 0x00316918 [Token(Token = "0x600D5DE")] [Address(RVA = "0xE38600", Offset = "0xE37400", VA = "0x180E38600")] private IEnumerator LFOENOGBJMA(long MOKMJAMNEFP) { /* An exception occurred when decompiling this method (0600D5DE) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.PlayerEventEngagementManager::LFOENOGBJMA(System.Int64) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(HGALJECHGDB::System.IDisposable.Dispose, ldloc:HGALJECHGDB(var_0)) stfld:PlayerEventEngagementManager(HGALJECHGDB::<>4__this, ldloc:HGALJECHGDB(var_0), ldloc:PlayerEventEngagementManager(this)) stfld:int32(HGALJECHGDB::<>1__state, ldloc:HGALJECHGDB(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:int64(HGALJECHGDB::playerEventId, ldloc:HGALJECHGDB(var_0), ldloc:int64(MOKMJAMNEFP)) } 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: 0x0600D5DF RID: 54751 RVA: 0x00318744 File Offset: 0x00316944 [Token(Token = "0x600D5DF")] [Address(RVA = "0xE38400", Offset = "0xE37200", VA = "0x180E38400")] private void CAGNPFKBPOK(CCMBKDINCAH MFJCKOBPMGA) { WatchUI local = WatchUI.BFPPPLIJIGC; } // Token: 0x0600D5E0 RID: 54752 RVA: 0x00318760 File Offset: 0x00316960 [Token(Token = "0x600D5E0")] [Address(RVA = "0xE38670", Offset = "0xE37470", VA = "0x180E38670", Slot = "5")] protected override void OnDestroy() { OKNNKFGFODL dokminnfcgc = Matchmaking.DOKMINNFCGC; Action action = new Action(this.DOKMINNFCGC); Matchmaking.DOKMINNFCGC = OKNNKFGFODL.GMNMHGMFGOL(dokminnfcgc, action); base.OnDestroy(); } // Token: 0x0600D5E1 RID: 54753 RVA: 0x00318794 File Offset: 0x00316994 [Token(Token = "0x600D5E1")] [Address(RVA = "0xE38740", Offset = "0xE37540", VA = "0x180E38740")] public PlayerEventEngagementManager() { HashSet hashSet = new HashSet(); this.HENBNBDKBIB = hashSet; this.invitePromptEventCapacityThreshold = 0.1f; this.invitePromptDelaySeconds = 3f; base..ctor(); } // Token: 0x04008945 RID: 35141 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008945")] private readonly HashSet HENBNBDKBIB; // Token: 0x04008946 RID: 35142 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4008946")] [SerializeField] [Tooltip("Player will see invite friends prompt when entering event which has a current attendance percent below this threshold")] private float invitePromptEventCapacityThreshold; // Token: 0x04008947 RID: 35143 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4008947")] [SerializeField] private InviteFriendsDialog inviteFriendsDialogPrefab; // Token: 0x04008948 RID: 35144 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4008948")] [SerializeField] [Tooltip("Number of seconds to wait before showing an invite prompt to a player entering a new event.")] private float invitePromptDelaySeconds; // Token: 0x020020B3 RID: 8371 [Token(Token = "0x20020B3")] [CompilerGenerated] private sealed class AAGMBCOIDOL { // Token: 0x0600D5E2 RID: 54754 RVA: 0x003187CC File Offset: 0x003169CC [Token(Token = "0x600D5E2")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public AAGMBCOIDOL() { } // Token: 0x0600D5E3 RID: 54755 RVA: 0x003187E0 File Offset: 0x003169E0 [Token(Token = "0x600D5E3")] [Address(RVA = "0xE25950", Offset = "0xE24750", VA = "0x180E25950")] internal void b__0(CCMBKDINCAH playerEvent) { PlayerEventEngagementManager.HBGKOFCMBCE hbgkofcmbce = new PlayerEventEngagementManager.HBGKOFCMBCE(); hbgkofcmbce.CS$<>8__locals1 = this; hbgkofcmbce.playerEvent = playerEvent; CIIBGMBOFEI ciibgmbofei = Matchmaking.BBJAEJHMAPB; float invitePromptEventCapacityThreshold = this.<>4__this.invitePromptEventCapacityThreshold; if (hbgkofcmbce.playerEvent != (ulong)0L) { CIIBGMBOFEI ciibgmbofei2 = Matchmaking.BBJAEJHMAPB; long num = this.roomInstanceId; if (ciibgmbofei2.k__BackingField == num) { CCMBKDINCAH playerEvent2 = hbgkofcmbce.playerEvent; AGAJMBPABDL[] array = KKPBCOOONNK.DFFEKFNFAKJ; } } if (!FGPIDGLCKEF.LHKJBBONCBB) { WatchUI local = WatchUI.BFPPPLIJIGC; int num2 = 0; PMGCJEPKFOF pmgcjepkfof = local.ShowConfirmationDialog(UIConfirmationDialog.MCLCMCALGMA.YES_NO, "Invite Friends?", "Looks like you're one of the first ones here!\nDo you want to invite friends to this event?"); Action action = delegate(JPIJGHNNIDP response) { if (response == JPIJGHNNIDP.Affirmative) { PlayerEventEngagementManager playerEventEngagementManager = hbgkofcmbce.CS$<>8__locals1.<>4__this; WatchUI local2 = WatchUI.BFPPPLIJIGC; } }; if (num2 < hbgkofcmbce) { num2 += num2; if (num2 == hbgkofcmbce) { pmgcjepkfof += pmgcjepkfof; num2 += 19; throw new NullReferenceException(); } num2++; } } } // Token: 0x04008949 RID: 35145 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4008949")] public PlayerEventEngagementManager <>4__this; // Token: 0x0400894A RID: 35146 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400894A")] public long roomInstanceId; } // Token: 0x020020B4 RID: 8372 [Token(Token = "0x20020B4")] [CompilerGenerated] private sealed class HBGKOFCMBCE { // Token: 0x0600D5E4 RID: 54756 RVA: 0x003188B4 File Offset: 0x00316AB4 [Token(Token = "0x600D5E4")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public HBGKOFCMBCE() { } // Token: 0x0600D5E5 RID: 54757 RVA: 0x003188C8 File Offset: 0x00316AC8 [Token(Token = "0x600D5E5")] [Address(RVA = "0xE28610", Offset = "0xE27410", VA = "0x180E28610")] internal void b__1(JPIJGHNNIDP response) { if (response == JPIJGHNNIDP.Affirmative) { PlayerEventEngagementManager <>4__this = this.CS$<>8__locals1.<>4__this; WatchUI local = WatchUI.BFPPPLIJIGC; } } // Token: 0x0400894B RID: 35147 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400894B")] public CCMBKDINCAH playerEvent; // Token: 0x0400894C RID: 35148 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400894C")] public PlayerEventEngagementManager.AAGMBCOIDOL CS$<>8__locals1; } } }