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: 0x020021A0 RID: 8608 [Token(Token = "0x20021A0")] public class PlayerEventEngagementManager : SingletonMonoBehaviour { // Token: 0x0600D9FE RID: 55806 RVA: 0x00321C44 File Offset: 0x0031FE44 [Token(Token = "0x600D9FE")] [Address(RVA = "0x19E6400", Offset = "0x19E5400", VA = "0x1819E6400", 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: 0x0600D9FF RID: 55807 RVA: 0x00321C78 File Offset: 0x0031FE78 [Token(Token = "0x600D9FF")] [Address(RVA = "0x19E6570", Offset = "0x19E5570", VA = "0x1819E6570")] 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: 0x0600DA00 RID: 55808 RVA: 0x00321CE0 File Offset: 0x0031FEE0 [Token(Token = "0x600DA00")] [Address(RVA = "0x19E66D0", Offset = "0x19E56D0", VA = "0x1819E66D0")] private IEnumerator LFOENOGBJMA(long MOKMJAMNEFP) { /* An exception occurred when decompiling this method (0600DA00) 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: 0x0600DA01 RID: 55809 RVA: 0x00321D0C File Offset: 0x0031FF0C [Token(Token = "0x600DA01")] [Address(RVA = "0x19E64D0", Offset = "0x19E54D0", VA = "0x1819E64D0")] private void CAGNPFKBPOK(CCMBKDINCAH MFJCKOBPMGA) { WatchUI local = WatchUI.BFPPPLIJIGC; } // Token: 0x0600DA02 RID: 55810 RVA: 0x00321D28 File Offset: 0x0031FF28 [Token(Token = "0x600DA02")] [Address(RVA = "0x19E6740", Offset = "0x19E5740", VA = "0x1819E6740", 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: 0x0600DA03 RID: 55811 RVA: 0x00321D5C File Offset: 0x0031FF5C [Token(Token = "0x600DA03")] [Address(RVA = "0x19E6810", Offset = "0x19E5810", VA = "0x1819E6810")] public PlayerEventEngagementManager() { HashSet hashSet = new HashSet(); this.HENBNBDKBIB = hashSet; this.invitePromptEventCapacityThreshold = 0.1f; this.invitePromptDelaySeconds = 3f; base..ctor(); } // Token: 0x04008B2D RID: 35629 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008B2D")] private readonly HashSet HENBNBDKBIB; // Token: 0x04008B2E RID: 35630 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4008B2E")] [SerializeField] [Tooltip("Player will see invite friends prompt when entering event which has a current attendance percent below this threshold")] private float invitePromptEventCapacityThreshold; // Token: 0x04008B2F RID: 35631 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4008B2F")] [SerializeField] private InviteFriendsDialog inviteFriendsDialogPrefab; // Token: 0x04008B30 RID: 35632 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4008B30")] [SerializeField] [Tooltip("Number of seconds to wait before showing an invite prompt to a player entering a new event.")] private float invitePromptDelaySeconds; // Token: 0x020021A1 RID: 8609 [Token(Token = "0x20021A1")] [CompilerGenerated] private sealed class AAGMBCOIDOL { // Token: 0x0600DA04 RID: 55812 RVA: 0x00321D94 File Offset: 0x0031FF94 [Token(Token = "0x600DA04")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public AAGMBCOIDOL() { } // Token: 0x0600DA05 RID: 55813 RVA: 0x00321DA8 File Offset: 0x0031FFA8 [Token(Token = "0x600DA05")] [Address(RVA = "0x19D3910", Offset = "0x19D2910", VA = "0x1819D3910")] 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: 0x04008B31 RID: 35633 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4008B31")] public PlayerEventEngagementManager <>4__this; // Token: 0x04008B32 RID: 35634 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008B32")] public long roomInstanceId; } // Token: 0x020021A2 RID: 8610 [Token(Token = "0x20021A2")] [CompilerGenerated] private sealed class HBGKOFCMBCE { // Token: 0x0600DA06 RID: 55814 RVA: 0x00321E7C File Offset: 0x0032007C [Token(Token = "0x600DA06")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public HBGKOFCMBCE() { } // Token: 0x0600DA07 RID: 55815 RVA: 0x00321E90 File Offset: 0x00320090 [Token(Token = "0x600DA07")] [Address(RVA = "0x19D53D0", Offset = "0x19D43D0", VA = "0x1819D53D0")] internal void b__1(JPIJGHNNIDP response) { if (response == JPIJGHNNIDP.Affirmative) { PlayerEventEngagementManager <>4__this = this.CS$<>8__locals1.<>4__this; WatchUI local = WatchUI.BFPPPLIJIGC; } } // Token: 0x04008B33 RID: 35635 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4008B33")] public CCMBKDINCAH playerEvent; // Token: 0x04008B34 RID: 35636 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008B34")] public PlayerEventEngagementManager.AAGMBCOIDOL CS$<>8__locals1; } } }