414 lines
15 KiB
C#
414 lines
15 KiB
C#
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<bool> 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<bool> 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<bool> kllmcpfpiie;
|
|
this._movementBlockersEnabled = kllmcpfpiie;
|
|
Action action2 = new Action(this.ELNLOEONCPP);
|
|
KLLMCPFPIIE<bool> kllmcpfpiie2;
|
|
this._enforceHostsOnlyAreas = kllmcpfpiie2;
|
|
EventTeleportRestriction eventTeleportRestriction = global::UnityEngine.Object.FindObjectOfType<EventTeleportRestriction>();
|
|
int num = 0;
|
|
bool flag = eventTeleportRestriction != num;
|
|
this.thisSceneContainsHostOnlyAreas = flag;
|
|
MFBGLIHGCGO<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
|
|
Action<Player> 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<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
|
|
Action<Player> 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<MovementBlocker> 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<EventTeleportRestriction>();
|
|
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<EventTeleportRestriction>();
|
|
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<KENFJGFMIPM> BJOCGHFBAKA()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600D47D)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<KENFJGFMIPM> 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<bool> _movementBlockersEnabled;
|
|
|
|
// Token: 0x0400872E RID: 34606
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400872E")]
|
|
private KLLMCPFPIIE<bool> _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;
|
|
}
|
|
}
|