using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using CodeStage.AntiCheat.ObscuredTypes; using Cpp2IlInjected; using Google.Protobuf.Collections; using JetBrains.Annotations; using RecNet; using RecRoom.Core.Creation.Circuits; using RecRoom.Utils.OverridableFields; using UnityEngine; namespace RecRoom.Systems.PlayerRoles { // Token: 0x0200235F RID: 9055 [Token(Token = "0x200235F")] public class PlayerRoomRoleManager : RoleManagerBase { // Token: 0x1700248C RID: 9356 // (get) Token: 0x0600E606 RID: 58886 RVA: 0x0034E0C8 File Offset: 0x0034C2C8 [Token(Token = "0x1700248C")] public new static PlayerRoomRoleManager ONCPNMDGGKG { [Token(Token = "0x600E606")] [Address(RVA = "0x1457D60", Offset = "0x1456D60", VA = "0x181457D60")] get { if (NetworkedSingletonMonoBehaviour.ONCPNMDGGKG == 0) { return; } } } // Token: 0x1700248D RID: 9357 // (get) Token: 0x0600E607 RID: 58887 RVA: 0x0034E0E0 File Offset: 0x0034C2E0 [Token(Token = "0x1700248D")] public static bool MNFOLNMPMEE { [Token(Token = "0x600E607")] [Address(RVA = "0x1458100", Offset = "0x1457100", VA = "0x181458100")] get { if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD) { MutableOverridableObscuredBool canUseMakerPen = PlayerRoomRoleManager.ONCPNMDGGKG.GetLocalPlayerRoleDefinition().canUseMakerPen; int num = 0; num += num; num++; bool flag; if (flag) { CIIBGMBOFEI ciibgmbofei = Matchmaking.BBJAEJHMAPB; if (ciibgmbofei.MIKOMDCPDFF() && EIMGAFPPJFD.OAFNNHLHCMN()) { return LCCEEFHOBEN.GODAMHGHDID.k__BackingField <= 0; } } } throw new NullReferenceException(); } } // Token: 0x1700248E RID: 9358 // (get) Token: 0x0600E608 RID: 58888 RVA: 0x0034E158 File Offset: 0x0034C358 [Token(Token = "0x1700248E")] public static bool IOLMHMAAHAD { [Token(Token = "0x600E608")] [Address(RVA = "0x1457F80", Offset = "0x1456F80", VA = "0x181457F80")] get { bool localPlayerCanUseCreationMode = PlayerRoomRoleManager.MNFOLNMPMEE; if (!localPlayerCanUseCreationMode) { return localPlayerCanUseCreationMode; } MutableOverridableObscuredBool canSpawnInventions = PlayerRoomRoleManager.ONCPNMDGGKG.GetLocalPlayerRoleDefinition().canSpawnInventions; int num = 0; num += num; num++; bool flag; return flag; } } // Token: 0x1700248F RID: 9359 // (get) Token: 0x0600E609 RID: 58889 RVA: 0x0034E1A8 File Offset: 0x0034C3A8 [Token(Token = "0x1700248F")] public static bool IPCFEPKLJNG { [Token(Token = "0x600E609")] [Address(RVA = "0x1457E00", Offset = "0x1456E00", VA = "0x181457E00")] get { bool isInitialized = NetworkedSingletonMonoBehaviour.FFNIFALJLDD; if (!isInitialized) { return isInitialized; } MutableOverridableObscuredBool canSpawnConsumables = PlayerRoomRoleManager.ONCPNMDGGKG.GetLocalPlayerRoleDefinition().canSpawnConsumables; int num = 0; num += num; num++; bool flag; return flag; } } // Token: 0x17002490 RID: 9360 // (get) Token: 0x0600E60A RID: 58890 RVA: 0x0034E1F0 File Offset: 0x0034C3F0 [Token(Token = "0x17002490")] protected override int[] JGIFDGDOGPO { [Token(Token = "0x600E60A")] [Address(RVA = "0x1456DF0", Offset = "0x1455DF0", VA = "0x181456DF0", Slot = "17")] get { return PlayerRoomRoleManager.PBILJOPELGJ; } } // Token: 0x17002491 RID: 9361 // (get) Token: 0x0600E60B RID: 58891 RVA: 0x0034E204 File Offset: 0x0034C404 [Token(Token = "0x17002491")] protected override bool GBFHJKPPEPC { [Token(Token = "0x600E60B")] [Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "27")] get { } } // Token: 0x0600E60C RID: 58892 RVA: 0x0034E214 File Offset: 0x0034C414 [Token(Token = "0x600E60C")] [Address(RVA = "0x14540D0", Offset = "0x14530D0", VA = "0x1814540D0", Slot = "13")] protected override void Awake() { base.Awake(); Action action = new Action(this.CHBOJMGPHEK); OKNNKFGFODL localPlayerCreatedEvent = Player.LocalPlayerCreatedEvent; Action action2 = new Action(this.CLBLFCJEDLL); Player.LocalPlayerCreatedEvent = OKNNKFGFODL.BPJDFPACLMK(localPlayerCreatedEvent, action2); OKNNKFGFODL ebljhbjgdfb = Matchmaking.EBLJHBJGDFB; Action action3 = new Action(this.EBLJHBJGDFB); Matchmaking.EBLJHBJGDFB = OKNNKFGFODL.BPJDFPACLMK(ebljhbjgdfb, action3); } // Token: 0x0600E60D RID: 58893 RVA: 0x0034E278 File Offset: 0x0034C478 [Token(Token = "0x600E60D")] [Address(RVA = "0x1457580", Offset = "0x1456580", VA = "0x181457580", Slot = "18")] protected override void Start() { base.KEHAFGDDECH(); base.Start(); } // Token: 0x0600E60E RID: 58894 RVA: 0x0034E294 File Offset: 0x0034C494 [Token(Token = "0x600E60E")] [Address(RVA = "0x1456FA0", Offset = "0x1455FA0", VA = "0x181456FA0", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Action action = new Action(this.CHBOJMGPHEK); OKNNKFGFODL localPlayerCreatedEvent = Player.LocalPlayerCreatedEvent; Action action2 = new Action(this.CLBLFCJEDLL); Player.LocalPlayerCreatedEvent = OKNNKFGFODL.GMNMHGMFGOL(localPlayerCreatedEvent, action2); OKNNKFGFODL ebljhbjgdfb = Matchmaking.EBLJHBJGDFB; Action action3 = new Action(this.EBLJHBJGDFB); Matchmaking.EBLJHBJGDFB = OKNNKFGFODL.GMNMHGMFGOL(ebljhbjgdfb, action3); } // Token: 0x0600E60F RID: 58895 RVA: 0x0034E2F8 File Offset: 0x0034C4F8 [Token(Token = "0x600E60F")] [Address(RVA = "0x1455EF0", Offset = "0x1454EF0", VA = "0x181455EF0", Slot = "25")] protected override RoleManagerBase.FPKGDJPPILE INELADLDOKF(AGAJMBPABDL IEKDDPPNFPF) { /* An exception occurred when decompiling this method (0600E60F) ICSharpCode.Decompiler.DecompilerException: Error decompiling RecRoom.Systems.PlayerRoles.RoleManagerBase`5/FPKGDJPPILE RecRoom.Systems.PlayerRoles.PlayerRoomRoleManager::INELADLDOKF(AGAJMBPABDL) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:LOGMPFJAHOF(var_0_06, newobj:LOGMPFJAHOF(LOGMPFJAHOF::.ctor, ldloc:AGAJMBPABDL(IEKDDPPNFPF))) } 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: 0x0600E610 RID: 58896 RVA: 0x0034E30C File Offset: 0x0034C50C [Token(Token = "0x600E610")] [Address(RVA = "0x1454800", Offset = "0x1453800", VA = "0x181454800", Slot = "29")] protected override void FFKJKILNOIC(ref List MGKECHLIBOP) { base.FFKJKILNOIC(ref MGKECHLIBOP); if (PlayerRoomRoleManager.<>c.<>9__24_0 == 0) { PlayerRoomRoleManager.<>c.<>9__24_0 = (RoomRole r) => r.roleId != FMOEHCKDCKF.AG_HOST; } bool flag; if (flag) { RoomRole roomRole = this.defaultRoomHostRole; } if (PlayerRoomRoleManager.<>c.<>9__24_1 == 0) { PlayerRoomRoleManager.<>c.<>9__24_1 = (RoomRole r) => r.roleId != FMOEHCKDCKF.AG_MODERATOR; } bool flag2; if (flag2) { RoomRole roomRole2 = this.defaultRoomModeratorRole; } if (PlayerRoomRoleManager.<>c.<>9__24_2 == 0) { PlayerRoomRoleManager.<>c.<>9__24_2 = (RoomRole r) => r.roleId != FMOEHCKDCKF.AG_COOWNER; } bool flag3; if (flag3) { RoomRole roomRole3 = this.defaultRoomCoOwnerRole; } if (PlayerRoomRoleManager.<>c.<>9__24_3 == 0) { PlayerRoomRoleManager.<>c.<>9__24_3 = (RoomRole r) => r.roleId != FMOEHCKDCKF.AG_CREATOR; } bool flag4; if (flag4) { RoomRole roomRole4 = this.defaultRoomCreatorRole; } } // Token: 0x0600E611 RID: 58897 RVA: 0x0034E3CC File Offset: 0x0034C5CC [Token(Token = "0x600E611")] [Address(RVA = "0x14546D0", Offset = "0x14536D0", VA = "0x1814546D0")] private void EBLJHBJGDFB() { base.KEHAFGDDECH(); } // Token: 0x0600E612 RID: 58898 RVA: 0x0034E3E0 File Offset: 0x0034C5E0 [Token(Token = "0x600E612")] [Address(RVA = "0x1454680", Offset = "0x1453680", VA = "0x181454680")] private void CLBLFCJEDLL() { int num = 0; this.MGPJNDFGJNP = num; base.OGEGEKEACGC(); this.CHBOJMGPHEK(); } // Token: 0x0600E613 RID: 58899 RVA: 0x0034E404 File Offset: 0x0034C604 [Token(Token = "0x600E613")] [Address(RVA = "0x1456300", Offset = "0x1455300", VA = "0x181456300", Slot = "26")] protected override FMOEHCKDCKF JBJHLODKFDH(AGAJMBPABDL IEKDDPPNFPF) { return PlayerRoomRoleManager.PLPLCDLNLAL(IEKDDPPNFPF); } // Token: 0x0600E614 RID: 58900 RVA: 0x0034E418 File Offset: 0x0034C618 [Token(Token = "0x600E614")] [Address(RVA = "0x1457160", Offset = "0x1456160", VA = "0x181457160")] private static FMOEHCKDCKF PLPLCDLNLAL(AGAJMBPABDL IEKDDPPNFPF) { if (IEKDDPPNFPF != 0) { PPENFJMFPNE ppenfjmfpne = Matchmaking.HMCJLLMDAAM; if (ppenfjmfpne == 0) { PPENFJMFPNE ppenfjmfpne2 = Matchmaking.HMCJLLMDAAM; int k__BackingField = IEKDDPPNFPF.k__BackingField; LMLJHMJEIGM lmljhmjeigm = ppenfjmfpne2.MOPDMGDPJDF(k__BackingField); } int k__BackingField2 = IEKDDPPNFPF.k__BackingField; IBDPLCIAHOJ ibdplciahoj = ppenfjmfpne.MOPDMGDPJDF(k__BackingField2).KCKMCJLMIJP(); } throw new NullReferenceException(); } // Token: 0x0600E615 RID: 58901 RVA: 0x0034E470 File Offset: 0x0034C670 [Token(Token = "0x600E615")] [Address(RVA = "0x1454710", Offset = "0x1453710", VA = "0x181454710")] private static bool EOOJMDGKFDB(AGAJMBPABDL IEKDDPPNFPF, out IBDPLCIAHOJ EGPBMGPKIIL) { if (IEKDDPPNFPF == 0) { throw new NullReferenceException(); } PPENFJMFPNE ppenfjmfpne = Matchmaking.HMCJLLMDAAM; if (ppenfjmfpne == 0) { PPENFJMFPNE ppenfjmfpne2 = Matchmaking.HMCJLLMDAAM; int k__BackingField = IEKDDPPNFPF.k__BackingField; LMLJHMJEIGM lmljhmjeigm = ppenfjmfpne2.MOPDMGDPJDF(k__BackingField); return true; } int k__BackingField2 = IEKDDPPNFPF.k__BackingField; IBDPLCIAHOJ ibdplciahoj = ppenfjmfpne.MOPDMGDPJDF(k__BackingField2).KCKMCJLMIJP(); EGPBMGPKIIL.value__ = (int)ibdplciahoj; return true; } // Token: 0x0600E616 RID: 58902 RVA: 0x0034E4D4 File Offset: 0x0034C6D4 [Token(Token = "0x600E616")] [Address(RVA = "0x1456C70", Offset = "0x1455C70", VA = "0x181456C70", Slot = "24")] protected override RoomRole MEPJPBMHJDF(int FHCCCOABPJI, RoomRole EBOAJJCLJIE, [Optional] string LKHMIMBGLNC) { RoomRole roomRole; return roomRole; } // Token: 0x0600E617 RID: 58903 RVA: 0x0034E4E4 File Offset: 0x0034C6E4 [Token(Token = "0x600E617")] [Address(RVA = "0x14562B0", Offset = "0x14552B0", VA = "0x1814562B0", Slot = "34")] public override bool IsPlayerDefinedRole(FMOEHCKDCKF BGHHFOOBFMA) { bool flag; return flag; } // Token: 0x0600E618 RID: 58904 RVA: 0x0034E4F4 File Offset: 0x0034C6F4 [Token(Token = "0x600E618")] [Address(RVA = "0x1457290", Offset = "0x1456290", VA = "0x181457290", Slot = "36")] public override bool PlayerCanAssignRole(AGAJMBPABDL CDFCCICPHFJ, AGAJMBPABDL OEIHOFFDNNO, FMOEHCKDCKF BGHHFOOBFMA) { bool flag; if (flag && CDFCCICPHFJ != 0) { GJJLAOJHDKF gjjlaojhdkf = base.NHGKIEFIOKC(CDFCCICPHFJ); GJJLAOJHDKF gjjlaojhdkf2 = base.NHGKIEFIOKC(OEIHOFFDNNO); if (gjjlaojhdkf > gjjlaojhdkf2) { MutableOverridableObscuredBool canEditRoomRoles = base.GetPlayerRoleDefinition(CDFCCICPHFJ).canEditRoomRoles; bool flag2; if (flag2) { } } } throw new NullReferenceException(); } // Token: 0x0600E619 RID: 58905 RVA: 0x0034E538 File Offset: 0x0034C738 [Token(Token = "0x600E619")] [Address(RVA = "0x14573D0", Offset = "0x14563D0", VA = "0x1814573D0", Slot = "35")] public override bool PlayerCanModifyRoleDefinition(AGAJMBPABDL BANKGLOHKOJ, FMOEHCKDCKF BGHHFOOBFMA) { bool flag; if (flag && BANKGLOHKOJ != 0) { GJJLAOJHDKF gjjlaojhdkf = base.NHGKIEFIOKC(BANKGLOHKOJ); RoomRole roleDefinition = base.GetRoleDefinition((uint)4194304); RoomRole roleDefinition2 = base.GetRoleDefinition((uint)4194304); RoomRole roomRole; if (gjjlaojhdkf >= roleDefinition2.rank || roomRole.rank < gjjlaojhdkf) { MutableOverridableObscuredBool canEditRoomRoles = base.GetPlayerRoleDefinition(BANKGLOHKOJ).canEditRoomRoles; bool flag2; if (flag2) { } } } throw new NullReferenceException(); } // Token: 0x0600E61A RID: 58906 RVA: 0x0034E5A0 File Offset: 0x0034C7A0 [Token(Token = "0x600E61A")] [Address(RVA = "0x1456CF0", Offset = "0x1455CF0", VA = "0x181456CF0", Slot = "33")] protected override bool MFNJGEEPNKI(AGAJMBPABDL IEKDDPPNFPF) { if (base.MFNJGEEPNKI(IEKDDPPNFPF) && IEKDDPPNFPF != 0) { MutableOverridableObscuredBool canEditRoomRoles = base.GetPlayerRoleDefinition(IEKDDPPNFPF).canEditRoomRoles; bool flag; if (flag) { return true; } } throw new NullReferenceException(); } // Token: 0x0600E61B RID: 58907 RVA: 0x0034E5D8 File Offset: 0x0034C7D8 [Token(Token = "0x600E61B")] [Address(RVA = "0x1456E50", Offset = "0x1455E50", VA = "0x181456E50", Slot = "32")] protected override bool NINOBPHPMOO(AGAJMBPABDL JKJPFDENCGO, RoomRole GPLBFCPMJOC, RoomRole ODCFAOCDPHA) { if (base.NINOBPHPMOO(JKJPFDENCGO, GPLBFCPMJOC, ODCFAOCDPHA) && JKJPFDENCGO != 0 && base.NHGKIEFIOKC(JKJPFDENCGO) > GPLBFCPMJOC.rank && base.NHGKIEFIOKC(JKJPFDENCGO) > ODCFAOCDPHA.rank) { MutableOverridableObscuredBool canEditRoomRoles = base.GetPlayerRoleDefinition(JKJPFDENCGO).canEditRoomRoles; } throw new NullReferenceException(); } // Token: 0x0600E61C RID: 58908 RVA: 0x0034E628 File Offset: 0x0034C828 [Token(Token = "0x600E61C")] [Address(RVA = "0x5028A0", Offset = "0x5018A0", VA = "0x1805028A0", Slot = "20")] protected override int JLHFDBNABEO(FMOEHCKDCKF BGHHFOOBFMA) { return (int)BGHHFOOBFMA; } // Token: 0x0600E61D RID: 58909 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600E61D")] [Address(RVA = "0x5028A0", Offset = "0x5018A0", VA = "0x1805028A0", Slot = "21")] protected override FMOEHCKDCKF MEPAEFIIPBD(int BGHHFOOBFMA) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600E61E RID: 58910 RVA: 0x0034E638 File Offset: 0x0034C838 [Token(Token = "0x600E61E")] [Address(RVA = "0x1455E90", Offset = "0x1454E90", VA = "0x181455E90", Slot = "22")] protected override int[] IHAKAMMGHLM(FMOEHCKDCKF[] KEHPOHCJCEM) { if (KEHPOHCJCEM != 0) { return Enumerable.ToArray(Enumerable.Cast(KEHPOHCJCEM)); } return 0; } // Token: 0x0600E61F RID: 58911 RVA: 0x0034E658 File Offset: 0x0034C858 [Token(Token = "0x600E61F")] [Address(RVA = "0x1454BB0", Offset = "0x1453BB0", VA = "0x181454BB0", Slot = "23")] protected override bool FMAEGJFPJLP(int BGHHFOOBFMA) { bool flag; return flag; } // Token: 0x0600E620 RID: 58912 RVA: 0x0034E668 File Offset: 0x0034C868 [Token(Token = "0x600E620")] [Address(RVA = "0x126C9B0", Offset = "0x126B9B0", VA = "0x18126C9B0", Slot = "37")] protected override PFBMHEOFPJF MNGDIIPNICA(DBFIJENOPDA KGADGOFNJDC) { return KGADGOFNJDC.IBIFFFBIMHN; } // Token: 0x0600E621 RID: 58913 RVA: 0x0034E684 File Offset: 0x0034C884 [Token(Token = "0x600E621")] [Address(RVA = "0x1455CC0", Offset = "0x1454CC0", VA = "0x181455CC0", Slot = "39")] protected override PFBMHEOFPJF HNBCMNLALEO(byte[] KCKDIGBCOME) { return PFBMHEOFPJF.MHLLBDFJBOD.ParseFrom(KCKDIGBCOME); } // Token: 0x0600E622 RID: 58914 RVA: 0x0034E6A4 File Offset: 0x0034C8A4 [Token(Token = "0x600E622")] [Address(RVA = "0x1456950", Offset = "0x1455950", VA = "0x181456950", Slot = "40")] protected override void LEBDNKFDHII(PFBMHEOFPJF JHFHALKCDGD) { int num; do { num = 0; if (JHFHALKCDGD == 0) { break; } IEnumerator enumerator = JHFHALKCDGD.NGJFBNALBIA.GetEnumerator(); if (enumerator != 0) { if (num < enumerator) { num += num; if (num == enumerator) { goto IL_57; } num++; } bool flag; RoomRole roomRole; if (flag || roomRole.k__BackingField != flag) { } MutableOverridableObscuredBool canEditRoomRoles = roomRole.canEditRoomRoles; if (Matchmaking.HMCJLLMDAAM == 0) { continue; } MutableOverridableObscuredBool disableMicAutoMute = roomRole.disableMicAutoMute; ObscuredBool obscuredBool; bool inited = obscuredBool.inited; } IL_57: if (enumerator != 0) { } } while (num != 0); } // Token: 0x0600E623 RID: 58915 RVA: 0x0034E734 File Offset: 0x0034C934 [Token(Token = "0x600E623")] [Address(RVA = "0x1455180", Offset = "0x1454180", VA = "0x181455180", Slot = "42")] protected override void HEEDPDGPPON(DBFIJENOPDA KGADGOFNJDC) { base.HEEDPDGPPON(KGADGOFNJDC); if (KGADGOFNJDC.ELFBKDCEIIN < 10) { BCBIAHAOLIM fkbhanpdjlh = KGADGOFNJDC.FKBHANPDJLH; if (fkbhanpdjlh != 0) { int phbfonfodfn = fkbhanpdjlh.PHBFONFODFN; int num = 0; if (phbfonfodfn == 0) { MutableOverridableObscuredBool deprecatedCanEditCircuits = base.GetRoleDefinition(num).deprecatedCanEditCircuits; MutableOverridableObscuredBool deprecatedCanEditCircuits2 = base.GetRoleDefinition((uint)8388608).deprecatedCanEditCircuits; MutableOverridableObscuredBool deprecatedCanEditCircuits3 = base.GetRoleDefinition((uint)4194304).deprecatedCanEditCircuits; } MutableOverridableObscuredBool deprecatedCanEditCircuits4 = base.GetRoleDefinition(num).deprecatedCanEditCircuits; MutableOverridableObscuredBool deprecatedCanEditCircuits5 = base.GetRoleDefinition((uint)8388608).deprecatedCanEditCircuits; MutableOverridableObscuredBool deprecatedCanEditCircuits6 = base.GetRoleDefinition((uint)8388608).deprecatedCanEditCircuits; MutableOverridableObscuredBool deprecatedCanEditCircuits7 = base.GetRoleDefinition((uint)16777216).deprecatedCanEditCircuits; MutableOverridableObscuredBool deprecatedCanEditCircuits8 = base.GetRoleDefinition((uint)4194304).deprecatedCanEditCircuits; MutableOverridableObscuredBool deprecatedCanEditCircuits9 = base.GetRoleDefinition((uint)2097152).deprecatedCanEditCircuits; if (fkbhanpdjlh.PBFNLOJAHBN) { int num2 = 0; MutableOverridableObscuredBool canInvite = base.GetRoleDefinition(num2).canInvite; MutableOverridableObscuredBool canInvite2 = base.GetRoleDefinition((uint)8388608).canInvite; MutableOverridableObscuredBool canInvite3 = base.GetRoleDefinition((uint)16777216).canInvite; MutableOverridableObscuredBool canInvite4 = base.GetRoleDefinition((uint)4194304).canInvite; MutableOverridableObscuredBool canInvite5 = base.GetRoleDefinition((uint)2097152).canInvite; } if (fkbhanpdjlh.DMPGLPCINHJ) { int num3 = 0; MutableOverridableObscuredBool canPrintPhotos = base.GetRoleDefinition(num3).canPrintPhotos; MutableOverridableObscuredBool canPrintPhotos2 = base.GetRoleDefinition((uint)8388608).canPrintPhotos; MutableOverridableObscuredBool canPrintPhotos3 = base.GetRoleDefinition((uint)16777216).canPrintPhotos; MutableOverridableObscuredBool canPrintPhotos4 = base.GetRoleDefinition((uint)4194304).canPrintPhotos; MutableOverridableObscuredBool canPrintPhotos5 = base.GetRoleDefinition((uint)2097152).canPrintPhotos; } if (fkbhanpdjlh.GHHMBHIPFGD) { int num4 = 0; MutableOverridableObscuredBool canStartGames = base.GetRoleDefinition(num4).canStartGames; MutableOverridableObscuredBool canStartGames2 = base.GetRoleDefinition((uint)8388608).canStartGames; MutableOverridableObscuredBool canStartGames3 = base.GetRoleDefinition((uint)16777216).canStartGames; MutableOverridableObscuredBool canStartGames4 = base.GetRoleDefinition((uint)4194304).canStartGames; MutableOverridableObscuredBool canStartGames5 = base.GetRoleDefinition((uint)2097152).canStartGames; } if (fkbhanpdjlh.GFNPELHCJIB) { int num5 = 0; MutableOverridableVotekickType voteKickPermission = base.GetRoleDefinition(num5).voteKickPermission; ObscuredVotekickType obscuredVotekickType = ObscuredVotekickType.FAJDMKOEFLH(GPFHLEIFNDG.Off); MutableOverridableVotekickType voteKickPermission2 = base.GetRoleDefinition((uint)8388608).voteKickPermission; ObscuredVotekickType obscuredVotekickType2 = ObscuredVotekickType.FAJDMKOEFLH(GPFHLEIFNDG.Instant); MutableOverridableVotekickType voteKickPermission3 = base.GetRoleDefinition((uint)16777216).voteKickPermission; ObscuredVotekickType obscuredVotekickType3 = ObscuredVotekickType.FAJDMKOEFLH(GPFHLEIFNDG.Instant); MutableOverridableVotekickType voteKickPermission4 = base.GetRoleDefinition((uint)4194304).voteKickPermission; ObscuredVotekickType obscuredVotekickType4 = ObscuredVotekickType.FAJDMKOEFLH(GPFHLEIFNDG.Instant); MutableOverridableVotekickType voteKickPermission5 = base.GetRoleDefinition((uint)2097152).voteKickPermission; ObscuredVotekickType obscuredVotekickType5 = ObscuredVotekickType.FAJDMKOEFLH(GPFHLEIFNDG.Instant); } } } } // Token: 0x0600E624 RID: 58916 RVA: 0x0034E9E0 File Offset: 0x0034CBE0 [Token(Token = "0x600E624")] [Address(RVA = "0x14567F0", Offset = "0x14557F0", VA = "0x1814567F0", Slot = "41")] protected override PFBMHEOFPJF LBMEFCFIDFK() { int num = 0; List sortedActiveRoles = base.GetSortedActiveRoles(num != 0); PFBMHEOFPJF pfbmheofpjf = new PFBMHEOFPJF(); RepeatedField ngjfbnalbia = pfbmheofpjf.NGJFBNALBIA; Func <>9__44_ = PlayerRoomRoleManager.<>c.<>9__44_0; if (<>9__44_ == 0) { PlayerRoomRoleManager.<>c.<>9__44_0 = (RoomRole r) => r.KCINMMHMPGF(); } IEnumerable enumerable = Enumerable.Select(sortedActiveRoles, <>9__44_); ngjfbnalbia.AddRange(enumerable); return pfbmheofpjf; } // Token: 0x0600E625 RID: 58917 RVA: 0x0034EA40 File Offset: 0x0034CC40 [Token(Token = "0x600E625")] [Address(RVA = "0x14543B0", Offset = "0x14533B0", VA = "0x1814543B0", Slot = "38")] protected override void CDNPEAAJAOL(ref DBFIJENOPDA KGADGOFNJDC, PFBMHEOFPJF JHFHALKCDGD) { } // Token: 0x0600E626 RID: 58918 RVA: 0x0034EA54 File Offset: 0x0034CC54 [Token(Token = "0x600E626")] [Address(RVA = "0x1454540", Offset = "0x1453540", VA = "0x181454540")] private void CHBOJMGPHEK() { bool isInitialized = NetworkedSingletonMonoBehaviour.FFNIFALJLDD; if (isInitialized && isInitialized) { List localPlayerGameRolesToAssign = this.GetLocalPlayerGameRolesToAssign(); PlayerGameRoleManager instance = PlayerGameRoleManager.ONCPNMDGGKG; AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF; CMDADAAOBHD[] array = localPlayerGameRolesToAssign.ToArray(); } } // Token: 0x0600E627 RID: 58919 RVA: 0x0034EA98 File Offset: 0x0034CC98 [Token(Token = "0x600E627")] [Address(RVA = "0x1454C00", Offset = "0x1453C00", VA = "0x181454C00")] public List GetLocalPlayerGameRolesToAssign() { List list = new List(); int num = 0; if (num < list) { ThrowHelper.ThrowArgumentOutOfRangeException(); string text; GameRole gameRole = PlayerGameRoleManager.ONCPNMDGGKG.FindActiveRoleByName(text); if (gameRole != 0) { int roleId = (int)gameRole.roleId; bool flag; if (flag) { CMDADAAOBHD roleId2 = gameRole.roleId; list.Add(roleId2); } } num++; } return list; } // Token: 0x0600E628 RID: 58920 RVA: 0x0034EAF8 File Offset: 0x0034CCF8 [Token(Token = "0x600E628")] [Address(RVA = "0x1455F70", Offset = "0x1454F70", VA = "0x181455F70")] public bool IsAtLeastHostRole(FMOEHCKDCKF EGPBMGPKIIL) { RoomRole roomRole; GJJLAOJHDKF rank = roomRole.rank; RoomRole roleDefinition = base.GetRoleDefinition((uint)8388608); return rank >= roleDefinition.rank; } // Token: 0x0600E629 RID: 58921 RVA: 0x0034EB2C File Offset: 0x0034CD2C [Token(Token = "0x600E629")] [Address(RVA = "0x1456010", Offset = "0x1455010", VA = "0x181456010")] public bool IsAtLeastHostRole(RoomRole EGPBMGPKIIL) { GJJLAOJHDKF rank = EGPBMGPKIIL.rank; RoomRole roleDefinition = base.GetRoleDefinition((uint)8388608); return rank >= roleDefinition.rank; } // Token: 0x0600E62A RID: 58922 RVA: 0x0034EB60 File Offset: 0x0034CD60 [Token(Token = "0x600E62A")] [Address(RVA = "0x1456080", Offset = "0x1455080", VA = "0x181456080")] public bool IsHostPresent() { AGAJMBPABDL[] array = KKPBCOOONNK.DFFEKFNFAKJ; int num = 0; int length = array.Length; if (num < length) { AGAJMBPABDL agajmbpabdl = array[num]; GJJLAOJHDKF rank = base.GetPlayerRoleDefinition(agajmbpabdl).rank; RoomRole roleDefinition = base.GetRoleDefinition((uint)8388608); if (rank < roleDefinition.rank) { num++; } return true; } throw new NullReferenceException(); } // Token: 0x0600E62B RID: 58923 RVA: 0x0034EBC0 File Offset: 0x0034CDC0 [Token(Token = "0x600E62B")] [Address(RVA = "0x14561A0", Offset = "0x14551A0", VA = "0x1814561A0")] public static bool IsPlayerAHost(AGAJMBPABDL IEKDDPPNFPF) { PlayerRoomRoleManager instance = PlayerRoomRoleManager.ONCPNMDGGKG; int num = 0; if (!(instance == num)) { GJJLAOJHDKF gjjlaojhdkf = PlayerRoomRoleManager.ONCPNMDGGKG.FindRoleRank((uint)8388608); return PlayerRoomRoleManager.ONCPNMDGGKG.GetPlayerRoleDefinition(IEKDDPPNFPF).rank >= gjjlaojhdkf; } throw new NullReferenceException(); } // Token: 0x0600E62C RID: 58924 RVA: 0x0034EC18 File Offset: 0x0034CE18 [Token(Token = "0x600E62C")] [Address(RVA = "0x1454DB0", Offset = "0x1453DB0", VA = "0x181454DB0")] public GPFHLEIFNDG GetLocalPlayerVoteKickType(AGAJMBPABDL IBNDLONACHK, bool CPNHCODHDAD = false) { AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF; CCMBKDINCAH ccmbkdincah = GNPDMBPGHBH.JBIFJNHPANN(); if (ccmbkdincah != 0) { if (!ccmbkdincah.KMOAHFBMONE) { if (IBNDLONACHK == 0) { goto IL_3D; } int k__BackingField = IBNDLONACHK.k__BackingField; if (!ccmbkdincah.BFMOEBFIIFA(k__BackingField)) { goto IL_3D; } if (!CPNHCODHDAD) { goto IL_A8; } } return GPFHLEIFNDG.Instant; } IL_3D: RoomRole playerRoleDefinition = base.GetPlayerRoleDefinition(agajmbpabdl); GJJLAOJHDKF rank = base.GetPlayerRoleDefinition(IBNDLONACHK).rank; MutableOverridableVotekickType voteKickPermission = playerRoleDefinition.voteKickPermission; bool flag; if (!flag) { MutableOverridableVotekickType voteKickPermission2 = playerRoleDefinition.voteKickPermission; } RoleManagerBase.ENCNFBMNBPG encnfbmnbpg; if (PlayerRoomRoleManager.<>c.<>9__52_0 == 0) { encnfbmnbpg = delegate(RoomRole r) { MutableOverridableVotekickType voteKickPermission3 = r.voteKickPermission; bool flag2; return flag2; }; PlayerRoomRoleManager.<>c.<>9__52_0 = encnfbmnbpg; } if (!base.AnyPlayerRole(encnfbmnbpg)) { } if (!CPNHCODHDAD || CPNHCODHDAD) { } IL_A8: throw new NullReferenceException(); } // Token: 0x0600E62D RID: 58925 RVA: 0x0034ECD4 File Offset: 0x0034CED4 [Token(Token = "0x600E62D")] [Address(RVA = "0x1456360", Offset = "0x1455360", VA = "0x181456360", Slot = "31")] protected override void KGFJOIKALKD(AGAJMBPABDL IEKDDPPNFPF, RoomRole LOGOOOJKMPC) { if (IEKDDPPNFPF.DMKCIEPGGAB) { CircuitVisibilityBehaviour.CircuitVisibilityChanged(); MutableOverridableObscuredBool canTalk = LOGOOOJKMPC.canTalk; MFBGLIHGCGO playerCreatedEvent = Player.PlayerCreatedEvent; bool flag2; bool flag = !flag2; MutableOverridableObscuredBool canTalk2 = LOGOOOJKMPC.canTalk; bool? mgpjndfgjnp = this.MGPJNDFGJNP; int num = 0; bool flag4; bool flag3 = flag4 == mgpjndfgjnp; if (mgpjndfgjnp == flag3) { MutableOverridableObscuredBool canTalk3 = LOGOOOJKMPC.canTalk; bool flag5; if (!flag5) { NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG; MutableOverridableObscuredBool canTalk4 = LOGOOOJKMPC.canTalk; if (num < typeof(GPNBGDFOBNK).TypeHandle) { num += num; if (num == typeof(GPNBGDFOBNK).TypeHandle) { throw new NullReferenceException(); } num++; } string text = " for your room role"; bool flag6; if (flag6) { text = "enabled"; } string text2 = "Talking is " + text + " for your room role"; } MutableOverridableObscuredBool canTalk5 = LOGOOOJKMPC.canTalk; this.MGPJNDFGJNP = num; } this.CHBOJMGPHEK(); } } // Token: 0x0600E62E RID: 58926 RVA: 0x0034EDA8 File Offset: 0x0034CFA8 [Token(Token = "0x600E62E")] [Address(RVA = "0x14543D0", Offset = "0x14533D0", VA = "0x1814543D0", Slot = "19")] protected override void CGMHFAALDDC() { Player k__BackingField = Player.k__BackingField; int num = 0; if (k__BackingField != num) { Player k__BackingField2 = Player.k__BackingField; int num2 = 0; bool flag = k__BackingField2.SetMuteFlag(Player.KBAHEKCLGAN.MUTED_BY_ROOM_ROLE, num2 != 0); return; } } // Token: 0x0600E62F RID: 58927 RVA: 0x0034EDE4 File Offset: 0x0034CFE4 [Token(Token = "0x600E62F")] [Address(RVA = "0x1455D80", Offset = "0x1454D80", VA = "0x181455D80")] private string IBGILKNDOEC(BAOFECPMCOB INFBJHIOMAC) { int num = 0; num += num; num++; string text = "not allowed"; bool flag; if (flag) { text = "enabled"; } return text; } // Token: 0x0600E630 RID: 58928 RVA: 0x0034EE1C File Offset: 0x0034D01C [Token(Token = "0x600E630")] [Address(RVA = "0x14575F0", Offset = "0x14565F0", VA = "0x1814575F0")] public static bool TryGetPredefinedRoleGuid(FMOEHCKDCKF LECJEHGDACC, out Guid DFADDPPJPLN) { Dictionary aogddfbdeom = PlayerRoomRoleManager.AOGDDFBDEOM; bool flag; return flag; } // Token: 0x0600E631 RID: 58929 RVA: 0x0034EE38 File Offset: 0x0034D038 [Token(Token = "0x600E631")] [Address(RVA = "0x1454290", Offset = "0x1453290", VA = "0x181454290")] public static Guid BackCompatStringGuidParse(FMOEHCKDCKF LECJEHGDACC, [CanBeNull] string DNADKODMBAK) { if (0 != 0) { Dictionary aogddfbdeom = PlayerRoomRoleManager.AOGDDFBDEOM; bool flag; if (!flag) { Guid guid = Guid.NewGuid(); } } int num = 0; LECJEHGDACC.value__ = num; throw new NullReferenceException(); } // Token: 0x0600E632 RID: 58930 RVA: 0x0034EE68 File Offset: 0x0034D068 [Token(Token = "0x600E632")] [Address(RVA = "0x1457C30", Offset = "0x1456C30", VA = "0x181457C30")] public PlayerRoomRoleManager() { int num; int num2; RoomRole roomRole = new RoomRole((FMOEHCKDCKF)((uint)8388608), num, num2); num2 = 0; num = 0; this.defaultRoomHostRole = roomRole; int num3; int num4; RoomRole roomRole2 = new RoomRole((FMOEHCKDCKF)((uint)16777216), num3, num4); num4 = 0; num3 = 0; this.defaultRoomModeratorRole = roomRole2; int num5; int num6; RoomRole roomRole3 = new RoomRole((FMOEHCKDCKF)((uint)4194304), num5, num6); num6 = 0; num5 = 0; this.defaultRoomCoOwnerRole = roomRole3; int num7; int num8; RoomRole roomRole4 = new RoomRole((FMOEHCKDCKF)((uint)2097152), num7, num8); num8 = 0; num7 = 0; this.defaultRoomCreatorRole = roomRole4; base..ctor(); } // Token: 0x0600E633 RID: 58931 RVA: 0x0034EEF4 File Offset: 0x0034D0F4 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600E633")] [Address(RVA = "0x1457680", Offset = "0x1456680", VA = "0x181457680")] static PlayerRoomRoleManager() { Array values; do { values = Enum.GetValues(typeof(FMOEHCKDCKF)); } while (values != 0 && values == 0); PlayerRoomRoleManager.PMJNCFBEHME = values; PlayerRoomRoleManager.PBILJOPELGJ = Enumerable.ToArray(Enumerable.Cast(PlayerRoomRoleManager.PMJNCFBEHME)); int num = 0; PlayerRoomRoleManager.AOGDDFBDEOM = new Dictionary { { (uint)2097152, num }, { (uint)4194304, num }, { (uint)8388608, num }, { (uint)16777216, num }, { (uint)33554432, num }, { (uint)67108864, num }, { (uint)134217728, num }, { (uint)268435456, num }, { (uint)536870912, num }, { (uint)1073741824, num }, { (uint)int.MinValue, num } }; } // Token: 0x040094F2 RID: 38130 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x40094F2")] [SerializeField] [Header("Room Role Definitions")] private RoomRole defaultRoomHostRole; // Token: 0x040094F3 RID: 38131 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x40094F3")] [SerializeField] private RoomRole defaultRoomModeratorRole; // Token: 0x040094F4 RID: 38132 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x40094F4")] [SerializeField] private RoomRole defaultRoomCoOwnerRole; // Token: 0x040094F5 RID: 38133 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x40094F5")] [SerializeField] private RoomRole defaultRoomCreatorRole; // Token: 0x040094F6 RID: 38134 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x40094F6")] private bool? MGPJNDFGJNP; // Token: 0x040094F7 RID: 38135 [Token(Token = "0x40094F7")] private static FMOEHCKDCKF[] PMJNCFBEHME; // Token: 0x040094F8 RID: 38136 [Token(Token = "0x40094F8")] private static int[] PBILJOPELGJ; // Token: 0x040094F9 RID: 38137 [Token(Token = "0x40094F9")] public static readonly Guid AG_CREATOR_GUID; // Token: 0x040094FA RID: 38138 [Token(Token = "0x40094FA")] public static readonly Guid AG_COOWNER_GUID; // Token: 0x040094FB RID: 38139 [Token(Token = "0x40094FB")] public static readonly Guid AG_HOST_GUID; // Token: 0x040094FC RID: 38140 [Token(Token = "0x40094FC")] public static readonly Guid AG_MODERATOR_GUID; // Token: 0x040094FD RID: 38141 [Token(Token = "0x40094FD")] public static readonly Guid AG_ROLE_5_GUID; // Token: 0x040094FE RID: 38142 [Token(Token = "0x40094FE")] public static readonly Guid AG_ROLE_6_GUID; // Token: 0x040094FF RID: 38143 [Token(Token = "0x40094FF")] public static readonly Guid AG_ROLE_7_GUID; // Token: 0x04009500 RID: 38144 [Token(Token = "0x4009500")] public static readonly Guid AG_ROLE_8_GUID; // Token: 0x04009501 RID: 38145 [Token(Token = "0x4009501")] public static readonly Guid AG_ROLE_9_GUID; // Token: 0x04009502 RID: 38146 [Token(Token = "0x4009502")] public static readonly Guid AG_ROLE_10_GUID; // Token: 0x04009503 RID: 38147 [Token(Token = "0x4009503")] public static readonly Guid AG_ROLE_11_GUID; // Token: 0x04009504 RID: 38148 [Token(Token = "0x4009504")] private static readonly Dictionary AOGDDFBDEOM; // Token: 0x02002360 RID: 9056 [Token(Token = "0x2002360")] private class LOGMPFJAHOF : RoleManagerBase.FPKGDJPPILE { // Token: 0x0600E634 RID: 58932 RVA: 0x0034EFD0 File Offset: 0x0034D1D0 [Token(Token = "0x600E634")] [Address(RVA = "0x144CAE0", Offset = "0x144BAE0", VA = "0x18144CAE0")] public LOGMPFJAHOF(AGAJMBPABDL AGIHAKFFCCD) : base(AGIHAKFFCCD) { } // Token: 0x0600E635 RID: 58933 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600E635")] [Address(RVA = "0x144CA80", Offset = "0x144BA80", VA = "0x18144CA80", Slot = "4")] protected override int JNMKCEMDCEO() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600E636 RID: 58934 RVA: 0x0034EFE4 File Offset: 0x0034D1E4 [Token(Token = "0x600E636")] [Address(RVA = "0x144CA00", Offset = "0x144BA00", VA = "0x18144CA00", Slot = "5")] protected override void IJGHGFDPJPD(int LFBNLKLFONC) { int? pfabiidhlia = this.PFABIIDHLIA; if (pfabiidhlia == LFBNLKLFONC == pfabiidhlia) { ulong num; this.PFABIIDHLIA = num; base.MCBMFEECHCP(); } } // Token: 0x04009505 RID: 38149 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4009505")] private int? PFABIIDHLIA; } } }