using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using AGUI.StackedUI.Dialog; using Cpp2IlInjected; using Photon.Pun; using Photon.Realtime; using RecNet; using RecRoom.Async; using RecRoom.Core; using UnityEngine; namespace RecRoom { // Token: 0x02001D0B RID: 7435 [Token(Token = "0x2001D0B")] [StructLayout(3)] public class PlayerEventEngagementManager : SingletonMonoBehaviour { // Token: 0x0600C7D6 RID: 51158 RVA: 0x002F69CC File Offset: 0x002F4BCC [Token(Token = "0x600C7D6")] [Address(RVA = "0x14174F0", Offset = "0x1415EF0", VA = "0x1814174F0", Slot = "4")] protected override void Awake() { base.Awake(); ActionEvent dokminnfcgc = Matchmaking.DOKMINNFCGC; Action action = new Action(this.DOKMINNFCGC); Matchmaking.DOKMINNFCGC = dokminnfcgc + action; } // Token: 0x0600C7D7 RID: 51159 RVA: 0x002F6A00 File Offset: 0x002F4C00 [Token(Token = "0x600C7D7")] [Address(RVA = "0x1417660", Offset = "0x1416060", VA = "0x181417660")] private void DOKMINNFCGC() { long k__BackingField = Matchmaking.BBJAEJHMAPB.k__BackingField; if (GNPDMBPGHBH.BCCLDNMGJCD(k__BackingField) && this.HENBNBDKBIB.Add(k__BackingField)) { Scheduler instance = SingletonMonoBehaviour.Instance; PlayerEventEngagementManager.HGALJECHGDB hgaljechgdb; hgaljechgdb.System.IDisposable.Dispose(); hgaljechgdb.<>1__state = (int)((ulong)0L); hgaljechgdb.<>4__this = this; hgaljechgdb.playerEventId = k__BackingField; ISchedulerPromise schedulerPromise = instance.Run(this, hgaljechgdb); } } // Token: 0x0600C7D8 RID: 51160 RVA: 0x002F6A68 File Offset: 0x002F4C68 [Token(Token = "0x600C7D8")] [Address(RVA = "0x14177C0", Offset = "0x14161C0", VA = "0x1814177C0")] private IEnumerator LFOENOGBJMA(long MOKMJAMNEFP) { /* An exception occurred when decompiling this method (0600C7D8) 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: 0x0600C7D9 RID: 51161 RVA: 0x002F6A94 File Offset: 0x002F4C94 [Token(Token = "0x600C7D9")] [Address(RVA = "0x14175C0", Offset = "0x1415FC0", VA = "0x1814175C0")] private void CAGNPFKBPOK(CCMBKDINCAH MFJCKOBPMGA) { WatchUI local = WatchUI.BFPPPLIJIGC; } // Token: 0x0600C7DA RID: 51162 RVA: 0x002F6AB0 File Offset: 0x002F4CB0 [Token(Token = "0x600C7DA")] [Address(RVA = "0x1417830", Offset = "0x1416230", VA = "0x181417830", Slot = "5")] protected override void OnDestroy() { ActionEvent dokminnfcgc = Matchmaking.DOKMINNFCGC; Action action = new Action(this.DOKMINNFCGC); Matchmaking.DOKMINNFCGC = dokminnfcgc - action; base.OnDestroy(); } // Token: 0x0600C7DB RID: 51163 RVA: 0x002F6AE4 File Offset: 0x002F4CE4 [Token(Token = "0x600C7DB")] [Address(RVA = "0x1417900", Offset = "0x1416300", VA = "0x181417900")] public PlayerEventEngagementManager() { HashSet hashSet = new HashSet(); this.HENBNBDKBIB = hashSet; this.invitePromptEventCapacityThreshold = 0.1f; this.invitePromptDelaySeconds = 3f; base..ctor(); } // Token: 0x040084A8 RID: 33960 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40084A8")] private readonly HashSet HENBNBDKBIB; // Token: 0x040084A9 RID: 33961 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40084A9")] [SerializeField] [Tooltip("Player will see invite friends prompt when entering event which has a current attendance percent below this threshold")] private float invitePromptEventCapacityThreshold; // Token: 0x040084AA RID: 33962 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40084AA")] [SerializeField] private InviteFriendsDialog inviteFriendsDialogPrefab; // Token: 0x040084AB RID: 33963 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40084AB")] [SerializeField] [Tooltip("Number of seconds to wait before showing an invite prompt to a player entering a new event.")] private float invitePromptDelaySeconds; // Token: 0x02001D0C RID: 7436 [Token(Token = "0x2001D0C")] [CompilerGenerated] private sealed class AAGMBCOIDOL { // Token: 0x0600C7DC RID: 51164 RVA: 0x002F6B1C File Offset: 0x002F4D1C [Token(Token = "0x600C7DC")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public AAGMBCOIDOL() { } // Token: 0x0600C7DD RID: 51165 RVA: 0x002F6B30 File Offset: 0x002F4D30 [Token(Token = "0x600C7DD")] [Address(RVA = "0x1407D80", Offset = "0x1406780", VA = "0x181407D80")] 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; Photon.Realtime.Player[] playerList = PhotonNetwork.PlayerList; } } if (!FGPIDGLCKEF.LHKJBBONCBB) { WatchUI local = WatchUI.BFPPPLIJIGC; int num2 = 0; IPromise promise = 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) { promise += promise; num2 += 19; throw new NullReferenceException(); } num2++; } } } // Token: 0x040084AC RID: 33964 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x40084AC")] public PlayerEventEngagementManager <>4__this; // Token: 0x040084AD RID: 33965 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40084AD")] public long roomInstanceId; } // Token: 0x02001D0D RID: 7437 [Token(Token = "0x2001D0D")] [CompilerGenerated] private sealed class HBGKOFCMBCE { // Token: 0x0600C7DE RID: 51166 RVA: 0x002F6C04 File Offset: 0x002F4E04 [Token(Token = "0x600C7DE")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public HBGKOFCMBCE() { } // Token: 0x0600C7DF RID: 51167 RVA: 0x002F6C18 File Offset: 0x002F4E18 [Token(Token = "0x600C7DF")] [Address(RVA = "0x140B1B0", Offset = "0x1409BB0", VA = "0x18140B1B0")] internal void b__1(JPIJGHNNIDP response) { if (response == JPIJGHNNIDP.Affirmative) { PlayerEventEngagementManager <>4__this = this.CS$<>8__locals1.<>4__this; WatchUI local = WatchUI.BFPPPLIJIGC; } } // Token: 0x040084AE RID: 33966 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x40084AE")] public CCMBKDINCAH playerEvent; // Token: 0x040084AF RID: 33967 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40084AF")] public PlayerEventEngagementManager.AAGMBCOIDOL CS$<>8__locals1; } } }