using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Systems.PlayerRoles; using UnityEngine; namespace RecRoom { // Token: 0x020020E7 RID: 8423 [Token(Token = "0x20020E7")] [Serializable] public sealed class SceneGeometrySettings : KCIGBIPBBBJ { // Token: 0x170021E7 RID: 8679 // (get) Token: 0x0600D46C RID: 54380 RVA: 0x003092B0 File Offset: 0x003074B0 // (set) Token: 0x0600D46D RID: 54381 RVA: 0x003092D0 File Offset: 0x003074D0 [Token(Token = "0x170021E7")] public bool MovementBlockersEnabled { [Token(Token = "0x600D46C")] [Address(RVA = "0x14A4430", Offset = "0x14A3430", VA = "0x1814A4430")] get { return this._movementBlockersEnabled.IAHDANBDAAM() != null; } [Token(Token = "0x600D46D")] [Address(RVA = "0x14A44E0", Offset = "0x14A34E0", VA = "0x1814A44E0")] set { KLLMCPFPIIE movementBlockersEnabled = this._movementBlockersEnabled; } } // Token: 0x170021E8 RID: 8680 // (get) Token: 0x0600D46E RID: 54382 RVA: 0x003092EC File Offset: 0x003074EC // (set) Token: 0x0600D46F RID: 54383 RVA: 0x0030930C File Offset: 0x0030750C [Token(Token = "0x170021E8")] public bool EnforceHostsOnlyAreas { [Token(Token = "0x600D46E")] [Address(RVA = "0x14A3DD0", Offset = "0x14A2DD0", VA = "0x1814A3DD0")] get { return this._enforceHostsOnlyAreas.IAHDANBDAAM() != null; } [Token(Token = "0x600D46F")] [Address(RVA = "0x14A4480", Offset = "0x14A3480", VA = "0x1814A4480")] set { KLLMCPFPIIE enforceHostsOnlyAreas = this._enforceHostsOnlyAreas; } } // Token: 0x140000D0 RID: 208 // (add) Token: 0x0600D470 RID: 54384 RVA: 0x00309328 File Offset: 0x00307528 // (remove) Token: 0x0600D471 RID: 54385 RVA: 0x00309350 File Offset: 0x00307550 [Token(Token = "0x140000D0")] public event Action CJJFGDJMIJH { [Token(Token = "0x600D470")] [Address(RVA = "0x14A3290", Offset = "0x14A2290", VA = "0x1814A3290")] [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 = "0x600D471")] [Address(RVA = "0x14A3D30", Offset = "0x14A2D30", VA = "0x1814A3D30")] [CompilerGenerated] remove { Action settingsChangedEvent; Delegate @delegate; do { settingsChangedEvent = this.SettingsChangedEvent; @delegate = Delegate.Remove(settingsChangedEvent, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != settingsChangedEvent) { } } } // Token: 0x0600D472 RID: 54386 RVA: 0x00309378 File Offset: 0x00307578 [Token(Token = "0x600D472")] [Address(RVA = "0x14A3710", Offset = "0x14A2710", VA = "0x1814A3710", 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: 0x0600D473 RID: 54387 RVA: 0x003093F8 File Offset: 0x003075F8 [Token(Token = "0x600D473")] [Address(RVA = "0x14A3330", Offset = "0x14A2330", VA = "0x1814A3330", 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: 0x0600D474 RID: 54388 RVA: 0x0030944C File Offset: 0x0030764C [Token(Token = "0x600D474")] [Address(RVA = "0x14A3B70", Offset = "0x14A2B70", VA = "0x1814A3B70", Slot = "6")] public void JCINJNBJMGN() { MFBGLIHGCGO playerCreatedEvent = Player.PlayerCreatedEvent; Action action = new Action(this.KCGKDMNEALG); Player.PlayerCreatedEvent = MFBGLIHGCGO.GMNMHGMFGOL(playerCreatedEvent, action); } // Token: 0x0600D475 RID: 54389 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600D475")] [Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "7")] public void OPEMIFENIJM() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600D476 RID: 54390 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600D476")] [Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "8")] public void DFGGGKEBGHP() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600D477 RID: 54391 RVA: 0x00309478 File Offset: 0x00307678 [Token(Token = "0x600D477")] [Address(RVA = "0x14A3900", Offset = "0x14A2900", VA = "0x1814A3900")] private void INCCBPGJEHN() { int num; do { num = 0; bool flag = this._movementBlockersEnabled.IAHDANBDAAM() != null; IReadOnlyCollection allMovementBlockers = MovementBlocker.AllMovementBlockers; if (num < allMovementBlockers) { num += num; num++; } int num2 = 0; if (allMovementBlockers != 0) { if (num >= num2) { goto IL_3B; } num += num; if (num != num2) { num++; goto IL_3B; } IL_47: flag += flag; goto IL_4B; IL_3B: GameObject gameObject; gameObject.SetActive(flag); flag += flag; goto IL_47; } IL_4B: if (allMovementBlockers != 0) { } } while (num != 0); Action settingsChangedEvent = this.SettingsChangedEvent; if (settingsChangedEvent != 0) { settingsChangedEvent(); } } // Token: 0x170021E9 RID: 8681 // (get) Token: 0x0600D478 RID: 54392 RVA: 0x00309504 File Offset: 0x00307704 [Token(Token = "0x170021E9")] private bool LocalPlayerBlockedFromHostOnlyAreas { [Token(Token = "0x600D478")] [Address(RVA = "0x14A3E20", Offset = "0x14A2E20", VA = "0x1814A3E20")] get { bool flag = this._enforceHostsOnlyAreas.IAHDANBDAAM() != null; if (!flag) { return flag; } return !PlayerRoomRoleManager.IsPlayerAHost(KKPBCOOONNK.MDMMDPEKICF); } } // Token: 0x170021EA RID: 8682 // (get) Token: 0x0600D479 RID: 54393 RVA: 0x00309538 File Offset: 0x00307738 [Token(Token = "0x170021EA")] private bool LocalPlayerOverValidTeleportRegion { [Token(Token = "0x600D479")] [Address(RVA = "0x14A3EE0", Offset = "0x14A2EE0", VA = "0x1814A3EE0")] 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: 0x0600D47A RID: 54394 RVA: 0x003095F8 File Offset: 0x003077F8 [Token(Token = "0x600D47A")] [Address(RVA = "0x14A3C30", Offset = "0x14A2C30", VA = "0x1814A3C30")] 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: 0x0600D47B RID: 54395 RVA: 0x00309638 File Offset: 0x00307838 [Token(Token = "0x600D47B")] [Address(RVA = "0x14A3450", Offset = "0x14A2450", VA = "0x1814A3450")] 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: 0x0600D47C RID: 54396 RVA: 0x003096B4 File Offset: 0x003078B4 [Token(Token = "0x600D47C")] [Address(RVA = "0x14A35B0", Offset = "0x14A25B0", VA = "0x1814A35B0")] 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: 0x0600D47D RID: 54397 RVA: 0x00309734 File Offset: 0x00307934 [Token(Token = "0x600D47D")] [Address(RVA = "0x14A3230", Offset = "0x14A2230", VA = "0x1814A3230")] private IEnumerator BJOCGHFBAKA() { /* An exception occurred when decompiling this method (0600D47D) 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: 0x0600D47E RID: 54398 RVA: 0x00309758 File Offset: 0x00307958 [Token(Token = "0x600D47E")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public SceneGeometrySettings() { this.OPEMIFENIJM(); } // Token: 0x0400872D RID: 34605 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400872D")] private KLLMCPFPIIE _movementBlockersEnabled; // Token: 0x0400872E RID: 34606 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400872E")] private KLLMCPFPIIE _enforceHostsOnlyAreas; // Token: 0x0400872F RID: 34607 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400872F")] [CompilerGenerated] private Action SettingsChangedEvent; // Token: 0x04008730 RID: 34608 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4008730")] private RecRoomSceneManager sceneManager; // Token: 0x04008731 RID: 34609 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4008731")] private bool thisSceneContainsHostOnlyAreas; } }