using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using Photon.Pun; using RecRoom.Core; using RecRoom.Networking.SynchronizedFields; using RecRoom.Systems.PlayerRoles; using UnityEngine; namespace RecRoom { // Token: 0x02001C74 RID: 7284 [Token(Token = "0x2001C74")] [Serializable] [StructLayout(3)] public sealed class SceneGeometrySettings : KCIGBIPBBBJ { // Token: 0x17001E8A RID: 7818 // (get) Token: 0x0600C347 RID: 49991 RVA: 0x002E1280 File Offset: 0x002DF480 // (set) Token: 0x0600C348 RID: 49992 RVA: 0x002E12A0 File Offset: 0x002DF4A0 [Token(Token = "0x17001E8A")] public bool MovementBlockersEnabled { [Token(Token = "0x600C347")] [Address(RVA = "0x10EA420", Offset = "0x10E8E20", VA = "0x1810EA420")] get { return this._movementBlockersEnabled.Get() != null; } [Token(Token = "0x600C348")] [Address(RVA = "0x10EA4D0", Offset = "0x10E8ED0", VA = "0x1810EA4D0")] set { SynchronizedField movementBlockersEnabled = this._movementBlockersEnabled; } } // Token: 0x17001E8B RID: 7819 // (get) Token: 0x0600C349 RID: 49993 RVA: 0x002E12BC File Offset: 0x002DF4BC // (set) Token: 0x0600C34A RID: 49994 RVA: 0x002E12DC File Offset: 0x002DF4DC [Token(Token = "0x17001E8B")] public bool EnforceHostsOnlyAreas { [Token(Token = "0x600C349")] [Address(RVA = "0x10E9DC0", Offset = "0x10E87C0", VA = "0x1810E9DC0")] get { return this._enforceHostsOnlyAreas.Get() != null; } [Token(Token = "0x600C34A")] [Address(RVA = "0x10EA470", Offset = "0x10E8E70", VA = "0x1810EA470")] set { SynchronizedField enforceHostsOnlyAreas = this._enforceHostsOnlyAreas; } } // Token: 0x140000D1 RID: 209 // (add) Token: 0x0600C34B RID: 49995 RVA: 0x002E12F8 File Offset: 0x002DF4F8 // (remove) Token: 0x0600C34C RID: 49996 RVA: 0x002E1320 File Offset: 0x002DF520 [Token(Token = "0x140000D1")] public event Action CJJFGDJMIJH { [Token(Token = "0x600C34B")] [Address(RVA = "0x10E92C0", Offset = "0x10E7CC0", VA = "0x1810E92C0")] [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 = "0x600C34C")] [Address(RVA = "0x10E9D20", Offset = "0x10E8720", VA = "0x1810E9D20")] [CompilerGenerated] remove { Action settingsChangedEvent; Delegate @delegate; do { settingsChangedEvent = this.SettingsChangedEvent; @delegate = Delegate.Remove(settingsChangedEvent, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != settingsChangedEvent) { } } } // Token: 0x0600C34D RID: 49997 RVA: 0x002E1348 File Offset: 0x002DF548 [Token(Token = "0x600C34D")] [Address(RVA = "0x10E9740", Offset = "0x10E8140", VA = "0x1810E9740", Slot = "4")] public void IHGCLBJNCCH(RecRoomSceneManager LJPBCKELDPM) { this.sceneManager = LJPBCKELDPM; Action action = new Action(this.INCCBPGJEHN); SynchronizedField synchronizedField; this._movementBlockersEnabled = synchronizedField; Action action2 = new Action(this.ELNLOEONCPP); SynchronizedField synchronizedField2; this._enforceHostsOnlyAreas = synchronizedField2; EventTeleportRestriction eventTeleportRestriction = global::UnityEngine.Object.FindObjectOfType(); int num = 0; bool flag = eventTeleportRestriction != num; this.thisSceneContainsHostOnlyAreas = flag; ActionEvent playerCreatedEvent = Player.PlayerCreatedEvent; Action action3 = new Action(this.KCGKDMNEALG); Player.PlayerCreatedEvent = playerCreatedEvent + action3; } // Token: 0x0600C34E RID: 49998 RVA: 0x002E13C8 File Offset: 0x002DF5C8 [Token(Token = "0x600C34E")] [Address(RVA = "0x10E9360", Offset = "0x10E7D60", VA = "0x1810E9360", Slot = "5")] public void DJFDPJKOGMJ() { if (this._movementBlockersEnabled.Get() == 0) { this.INCCBPGJEHN(); } Scheduler instance = SingletonMonoBehaviour.Instance; RecRoomSceneManager recRoomSceneManager = this.sceneManager; SceneGeometrySettings.HCBAJIDAEIJ hcbajidaeij; hcbajidaeij.System.IDisposable.Dispose(); hcbajidaeij.<>1__state = (int)((ulong)0L); hcbajidaeij.<>4__this = this; ISchedulerPromise schedulerPromise = instance.Run(recRoomSceneManager, hcbajidaeij); } // Token: 0x0600C34F RID: 49999 RVA: 0x002E141C File Offset: 0x002DF61C [Token(Token = "0x600C34F")] [Address(RVA = "0x10E9B60", Offset = "0x10E8560", VA = "0x1810E9B60", Slot = "6")] public void JCINJNBJMGN() { ActionEvent playerCreatedEvent = Player.PlayerCreatedEvent; Action action = new Action(this.KCGKDMNEALG); Player.PlayerCreatedEvent = playerCreatedEvent - action; } // Token: 0x0600C350 RID: 50000 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600C350")] [Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "7")] public void OPEMIFENIJM() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600C351 RID: 50001 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600C351")] [Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "8")] public void DFGGGKEBGHP() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600C352 RID: 50002 RVA: 0x002E1448 File Offset: 0x002DF648 [Token(Token = "0x600C352")] [Address(RVA = "0x10E9930", Offset = "0x10E8330", VA = "0x1810E9930")] private void INCCBPGJEHN() { int num; do { num = 0; bool flag = this._movementBlockersEnabled.Get() != null; IReadOnlyCollection allMovementBlockers = MovementBlocker.AllMovementBlockers; if (allMovementBlockers != 0) { if (num >= allMovementBlockers) { goto IL_2A; } num += num; if (num != allMovementBlockers) { num++; goto IL_2A; } IL_32: flag += flag; goto IL_36; IL_2A: GameObject gameObject; gameObject.SetActive(flag); goto IL_32; } IL_36: if (allMovementBlockers != 0) { } if (num != -1) { } } while (num != 0); Action settingsChangedEvent = this.SettingsChangedEvent; if (settingsChangedEvent != 0) { settingsChangedEvent(); } } // Token: 0x17001E8C RID: 7820 // (get) Token: 0x0600C353 RID: 50003 RVA: 0x002E14C4 File Offset: 0x002DF6C4 [Token(Token = "0x17001E8C")] private bool LocalPlayerBlockedFromHostOnlyAreas { [Token(Token = "0x600C353")] [Address(RVA = "0x10E9E10", Offset = "0x10E8810", VA = "0x1810E9E10")] get { bool flag = this._enforceHostsOnlyAreas.Get() != null; if (!flag) { return flag; } return !PlayerRoomRoleManager.IsPlayerAHost(PhotonNetwork.LocalPlayer); } } // Token: 0x17001E8D RID: 7821 // (get) Token: 0x0600C354 RID: 50004 RVA: 0x002E14F8 File Offset: 0x002DF6F8 [Token(Token = "0x17001E8D")] private bool LocalPlayerOverValidTeleportRegion { [Token(Token = "0x600C354")] [Address(RVA = "0x10E9ED0", Offset = "0x10E88D0", VA = "0x1810E9ED0")] 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); int num3 = 0; EventTeleportRestriction eventTeleportRestriction; if (eventTeleportRestriction != 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); int num5 = 0; EventTeleportRestriction eventTeleportRestriction2; if (!(eventTeleportRestriction2 != num5) || eventTeleportRestriction2._regionType != EventTeleportRestriction.CKCMCDNLMGP.HOST) { num++; } } } } return true; } } // Token: 0x0600C355 RID: 50005 RVA: 0x002E15A8 File Offset: 0x002DF7A8 [Token(Token = "0x600C355")] [Address(RVA = "0x10E9C20", Offset = "0x10E8620", VA = "0x1810E9C20")] private void KCGKDMNEALG(Player IEKDDPPNFPF) { Scheduler instance = SingletonMonoBehaviour.Instance; RecRoomSceneManager recRoomSceneManager = this.sceneManager; SceneGeometrySettings.HCBAJIDAEIJ hcbajidaeij; hcbajidaeij.System.IDisposable.Dispose(); hcbajidaeij.<>1__state = (int)((ulong)0L); hcbajidaeij.<>4__this = this; ISchedulerPromise schedulerPromise = instance.Run(recRoomSceneManager, hcbajidaeij); } // Token: 0x0600C356 RID: 50006 RVA: 0x002E15E8 File Offset: 0x002DF7E8 [Token(Token = "0x600C356")] [Address(RVA = "0x10E9480", Offset = "0x10E7E80", VA = "0x1810E9480")] private void ELNLOEONCPP() { if (this.thisSceneContainsHostOnlyAreas) { if (!this.LocalPlayerOverValidTeleportRegion) { NotificationManager instance = SingletonMonoBehaviour.Instance; throw new NullReferenceException(); } NotificationManager instance2 = SingletonMonoBehaviour.Instance; bool flag = this._enforceHostsOnlyAreas.Get() != 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: 0x0600C357 RID: 50007 RVA: 0x002E1664 File Offset: 0x002DF864 [Token(Token = "0x600C357")] [Address(RVA = "0x10E95E0", Offset = "0x10E7FE0", VA = "0x1810E95E0")] private void IGOIKMDKCKK() { if (this.thisSceneContainsHostOnlyAreas) { if (!this.LocalPlayerOverValidTeleportRegion) { NotificationManager instance = SingletonMonoBehaviour.Instance; 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.Instance; bool flag = this._enforceHostsOnlyAreas.Get() != 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: 0x0600C358 RID: 50008 RVA: 0x002E16E4 File Offset: 0x002DF8E4 [Token(Token = "0x600C358")] [Address(RVA = "0x10E9260", Offset = "0x10E7C60", VA = "0x1810E9260")] private IEnumerator BJOCGHFBAKA() { /* An exception occurred when decompiling this method (0600C358) 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: 0x0600C359 RID: 50009 RVA: 0x002E1708 File Offset: 0x002DF908 [Token(Token = "0x600C359")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public SceneGeometrySettings() { this.OPEMIFENIJM(); } // Token: 0x04008133 RID: 33075 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4008133")] private SynchronizedField _movementBlockersEnabled; // Token: 0x04008134 RID: 33076 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4008134")] private SynchronizedField _enforceHostsOnlyAreas; // Token: 0x04008135 RID: 33077 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4008135")] [CompilerGenerated] private Action SettingsChangedEvent; // Token: 0x04008136 RID: 33078 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4008136")] private RecRoomSceneManager sceneManager; // Token: 0x04008137 RID: 33079 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4008137")] private bool thisSceneContainsHostOnlyAreas; } }