using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Systems.PlayerRoles; using UnityEngine; namespace RecRoom { // Token: 0x02002006 RID: 8198 [Token(Token = "0x2002006")] [Serializable] public sealed class SceneGeometrySettings : KCIGBIPBBBJ { // Token: 0x1700214A RID: 8522 // (get) Token: 0x0600D09A RID: 53402 RVA: 0x00300D84 File Offset: 0x002FEF84 // (set) Token: 0x0600D09B RID: 53403 RVA: 0x00300DA4 File Offset: 0x002FEFA4 [Token(Token = "0x1700214A")] public bool MovementBlockersEnabled { [Token(Token = "0x600D09A")] [Address(RVA = "0x7ADF50", Offset = "0x7ACD50", VA = "0x1807ADF50")] get { return this._movementBlockersEnabled.IAHDANBDAAM() != null; } [Token(Token = "0x600D09B")] [Address(RVA = "0x7AE000", Offset = "0x7ACE00", VA = "0x1807AE000")] set { KLLMCPFPIIE movementBlockersEnabled = this._movementBlockersEnabled; } } // Token: 0x1700214B RID: 8523 // (get) Token: 0x0600D09C RID: 53404 RVA: 0x00300DC0 File Offset: 0x002FEFC0 // (set) Token: 0x0600D09D RID: 53405 RVA: 0x00300DE0 File Offset: 0x002FEFE0 [Token(Token = "0x1700214B")] public bool EnforceHostsOnlyAreas { [Token(Token = "0x600D09C")] [Address(RVA = "0x7AD8F0", Offset = "0x7AC6F0", VA = "0x1807AD8F0")] get { return this._enforceHostsOnlyAreas.IAHDANBDAAM() != null; } [Token(Token = "0x600D09D")] [Address(RVA = "0x7ADFA0", Offset = "0x7ACDA0", VA = "0x1807ADFA0")] set { KLLMCPFPIIE enforceHostsOnlyAreas = this._enforceHostsOnlyAreas; } } // Token: 0x140000D0 RID: 208 // (add) Token: 0x0600D09E RID: 53406 RVA: 0x00300DFC File Offset: 0x002FEFFC // (remove) Token: 0x0600D09F RID: 53407 RVA: 0x00300E24 File Offset: 0x002FF024 [Token(Token = "0x140000D0")] public event Action CJJFGDJMIJH { [Token(Token = "0x600D09E")] [Address(RVA = "0x7ACDA0", Offset = "0x7ABBA0", VA = "0x1807ACDA0")] [CompilerGenerated] add { Action settingsChangedEvent; Delegate @delegate; do { settingsChangedEvent = this.SettingsChangedEvent; @delegate = Delegate.Combine(settingsChangedEvent, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != settingsChangedEvent) { } } [Token(Token = "0x600D09F")] [Address(RVA = "0x7AD850", Offset = "0x7AC650", VA = "0x1807AD850")] [CompilerGenerated] remove { Action settingsChangedEvent; Delegate @delegate; do { settingsChangedEvent = this.SettingsChangedEvent; @delegate = Delegate.Remove(settingsChangedEvent, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != settingsChangedEvent) { } } } // Token: 0x0600D0A0 RID: 53408 RVA: 0x00300E4C File Offset: 0x002FF04C [Token(Token = "0x600D0A0")] [Address(RVA = "0x7AD220", Offset = "0x7AC020", VA = "0x1807AD220", Slot = "4")] public void IHGCLBJNCCH(RecRoomSceneManager LJPBCKELDPM) { this.sceneManager = LJPBCKELDPM; Action action = new Action(this.INCCBPGJEHN); KLLMCPFPIIE kllmcpfpiie; this._movementBlockersEnabled = kllmcpfpiie; Action action2 = new Action(this.ELNLOEONCPP); KLLMCPFPIIE kllmcpfpiie2; this._enforceHostsOnlyAreas = kllmcpfpiie2; EventTeleportRestriction eventTeleportRestriction = global::UnityEngine.Object.FindObjectOfType(); int num = 0; bool flag = eventTeleportRestriction != num; this.thisSceneContainsHostOnlyAreas = flag; MFBGLIHGCGO playerCreatedEvent = Player.PlayerCreatedEvent; Action action3 = new Action(this.KCGKDMNEALG); Player.PlayerCreatedEvent = MFBGLIHGCGO.BPJDFPACLMK(playerCreatedEvent, action3); } // Token: 0x0600D0A1 RID: 53409 RVA: 0x00300ECC File Offset: 0x002FF0CC [Token(Token = "0x600D0A1")] [Address(RVA = "0x7ACE40", Offset = "0x7ABC40", VA = "0x1807ACE40", Slot = "5")] public void DJFDPJKOGMJ() { if (this._movementBlockersEnabled.IAHDANBDAAM() == 0) { this.INCCBPGJEHN(); } Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG; RecRoomSceneManager recRoomSceneManager = this.sceneManager; SceneGeometrySettings.HCBAJIDAEIJ hcbajidaeij; hcbajidaeij.System.IDisposable.Dispose(); hcbajidaeij.<>1__state = (int)((ulong)0L); hcbajidaeij.<>4__this = this; KFBABPAPIMB kfbabpapimb = instance.Run(recRoomSceneManager, hcbajidaeij); } // Token: 0x0600D0A2 RID: 53410 RVA: 0x00300F20 File Offset: 0x002FF120 [Token(Token = "0x600D0A2")] [Address(RVA = "0x7AD690", Offset = "0x7AC490", VA = "0x1807AD690", Slot = "6")] public void JCINJNBJMGN() { MFBGLIHGCGO playerCreatedEvent = Player.PlayerCreatedEvent; Action action = new Action(this.KCGKDMNEALG); Player.PlayerCreatedEvent = MFBGLIHGCGO.GMNMHGMFGOL(playerCreatedEvent, action); } // Token: 0x0600D0A3 RID: 53411 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600D0A3")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "7")] public void OPEMIFENIJM() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600D0A4 RID: 53412 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600D0A4")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "8")] public void DFGGGKEBGHP() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600D0A5 RID: 53413 RVA: 0x00300F4C File Offset: 0x002FF14C [Token(Token = "0x600D0A5")] [Address(RVA = "0x7AD410", Offset = "0x7AC210", VA = "0x1807AD410")] private void INCCBPGJEHN() { int num; do { num = 0; bool flag = this._movementBlockersEnabled.IAHDANBDAAM() != null; IReadOnlyCollection allMovementBlockers = MovementBlocker.AllMovementBlockers; num += num; num++; if (allMovementBlockers != 0) { if (num >= allMovementBlockers) { goto IL_32; } num += num; if (num != allMovementBlockers) { num++; goto IL_32; } IL_3E: flag += flag; goto IL_42; IL_32: GameObject gameObject; gameObject.SetActive(flag); flag += flag; goto IL_3E; } IL_42: if (allMovementBlockers != 0) { } } while (num != 0); Action settingsChangedEvent = this.SettingsChangedEvent; if (settingsChangedEvent != 0) { settingsChangedEvent(); } } // Token: 0x1700214C RID: 8524 // (get) Token: 0x0600D0A6 RID: 53414 RVA: 0x00300FD0 File Offset: 0x002FF1D0 [Token(Token = "0x1700214C")] private bool LocalPlayerBlockedFromHostOnlyAreas { [Token(Token = "0x600D0A6")] [Address(RVA = "0x7AD940", Offset = "0x7AC740", VA = "0x1807AD940")] get { bool flag = this._enforceHostsOnlyAreas.IAHDANBDAAM() != null; if (!flag) { return flag; } return !PlayerRoomRoleManager.IsPlayerAHost(KKPBCOOONNK.MDMMDPEKICF); } } // Token: 0x1700214D RID: 8525 // (get) Token: 0x0600D0A7 RID: 53415 RVA: 0x00301004 File Offset: 0x002FF204 [Token(Token = "0x1700214D")] private bool LocalPlayerOverValidTeleportRegion { [Token(Token = "0x600D0A7")] [Address(RVA = "0x7ADA00", Offset = "0x7AC800", VA = "0x1807ADA00")] get { if (this.LocalPlayerBlockedFromHostOnlyAreas) { Vector3 up = Vector3.up; Vector3 down = Vector3.down; int num = 0; RaycastHit[] array; int length = array.Length; if (num < length) { long num2 = (long)((ulong)num * (ulong)44L); Collider collider; EventTeleportRestriction componentInChildren = collider.GetComponentInChildren(); int num3 = 0; if (componentInChildren != num3) { } num++; } if ((ulong)1L == 0UL) { Vector3 up2 = Vector3.up; Vector3 down2 = Vector3.down; RaycastHit[] array2; int length2 = array2.Length; if (num < length2) { long num4 = (long)((ulong)num * (ulong)44L); Collider collider2; EventTeleportRestriction componentInChildren2 = collider2.GetComponentInChildren(); int num5 = 0; if (!(componentInChildren2 != num5) || componentInChildren2._regionType != EventTeleportRestriction.CKCMCDNLMGP.HOST) { num++; } } } } return true; } } // Token: 0x0600D0A8 RID: 53416 RVA: 0x003010C4 File Offset: 0x002FF2C4 [Token(Token = "0x600D0A8")] [Address(RVA = "0x7AD750", Offset = "0x7AC550", VA = "0x1807AD750")] private void KCGKDMNEALG(Player IEKDDPPNFPF) { Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG; RecRoomSceneManager recRoomSceneManager = this.sceneManager; SceneGeometrySettings.HCBAJIDAEIJ hcbajidaeij; hcbajidaeij.System.IDisposable.Dispose(); hcbajidaeij.<>1__state = (int)((ulong)0L); hcbajidaeij.<>4__this = this; KFBABPAPIMB kfbabpapimb = instance.Run(recRoomSceneManager, hcbajidaeij); } // Token: 0x0600D0A9 RID: 53417 RVA: 0x00301104 File Offset: 0x002FF304 [Token(Token = "0x600D0A9")] [Address(RVA = "0x7ACF60", Offset = "0x7ABD60", VA = "0x1807ACF60")] private void ELNLOEONCPP() { if (this.thisSceneContainsHostOnlyAreas) { if (!this.LocalPlayerOverValidTeleportRegion) { NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG; throw new NullReferenceException(); } NotificationManager instance2 = SingletonMonoBehaviour.ONCPNMDGGKG; bool flag = this._enforceHostsOnlyAreas.IAHDANBDAAM() != null; string text = "The host has allowed people on stage"; if (flag) { text = "The host has restricted access to the stage"; } int num = 0; IDisposable disposable = instance2.Play(NotificationManager.IBIDFAOPIPC.Medium, text, 3f, num, num); } Action settingsChangedEvent = this.SettingsChangedEvent; if (settingsChangedEvent != 0) { settingsChangedEvent(); } } // Token: 0x0600D0AA RID: 53418 RVA: 0x00301180 File Offset: 0x002FF380 [Token(Token = "0x600D0AA")] [Address(RVA = "0x7AD0C0", Offset = "0x7ABEC0", VA = "0x1807AD0C0")] private void IGOIKMDKCKK() { if (this.thisSceneContainsHostOnlyAreas) { if (!this.LocalPlayerOverValidTeleportRegion) { NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG; int num = 0; IDisposable disposable = instance.Play(NotificationManager.IBIDFAOPIPC.Vital, "The host has restricted access to the stage", 2.3f, num, num); return; } NotificationManager instance2 = SingletonMonoBehaviour.ONCPNMDGGKG; bool flag = this._enforceHostsOnlyAreas.IAHDANBDAAM() != null; string text = "The host has allowed people on stage"; if (flag) { text = "The host has restricted access to the stage"; } int num2 = 0; IDisposable disposable2 = instance2.Play(NotificationManager.IBIDFAOPIPC.Medium, text, 3f, num2, num2); } } // Token: 0x0600D0AB RID: 53419 RVA: 0x00301200 File Offset: 0x002FF400 [Token(Token = "0x600D0AB")] [Address(RVA = "0x7ACD40", Offset = "0x7ABB40", VA = "0x1807ACD40")] private IEnumerator BJOCGHFBAKA() { /* An exception occurred when decompiling this method (0600D0AB) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.SceneGeometrySettings::BJOCGHFBAKA() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(HCBAJIDAEIJ::System.IDisposable.Dispose, ldloc:HCBAJIDAEIJ(var_0)) stfld:int32(HCBAJIDAEIJ::<>1__state, ldloc:HCBAJIDAEIJ(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:SceneGeometrySettings(HCBAJIDAEIJ::<>4__this, ldloc:HCBAJIDAEIJ(var_0), ldloc:SceneGeometrySettings(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 1663 */; } // Token: 0x0600D0AC RID: 53420 RVA: 0x00301224 File Offset: 0x002FF424 [Token(Token = "0x600D0AC")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public SceneGeometrySettings() { this.OPEMIFENIJM(); } // Token: 0x04008572 RID: 34162 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4008572")] private KLLMCPFPIIE _movementBlockersEnabled; // Token: 0x04008573 RID: 34163 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008573")] private KLLMCPFPIIE _enforceHostsOnlyAreas; // Token: 0x04008574 RID: 34164 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4008574")] [CompilerGenerated] private Action SettingsChangedEvent; // Token: 0x04008575 RID: 34165 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4008575")] private RecRoomSceneManager sceneManager; // Token: 0x04008576 RID: 34166 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4008576")] private bool thisSceneContainsHostOnlyAreas; } }