412 lines
15 KiB
C#
412 lines
15 KiB
C#
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<bool> 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<bool> 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<bool> synchronizedField;
|
|
this._movementBlockersEnabled = synchronizedField;
|
|
Action action2 = new Action(this.ELNLOEONCPP);
|
|
SynchronizedField<bool> synchronizedField2;
|
|
this._enforceHostsOnlyAreas = synchronizedField2;
|
|
EventTeleportRestriction eventTeleportRestriction = global::UnityEngine.Object.FindObjectOfType<EventTeleportRestriction>();
|
|
int num = 0;
|
|
bool flag = eventTeleportRestriction != num;
|
|
this.thisSceneContainsHostOnlyAreas = flag;
|
|
ActionEvent<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
|
|
Action<Player> 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<Player> playerCreatedEvent = Player.PlayerCreatedEvent;
|
|
Action<Player> 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<MovementBlocker> 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<ISchedule> BJOCGHFBAKA()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600C358)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<RecRoom.Core.ISchedule> 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<bool> _movementBlockersEnabled;
|
|
|
|
// Token: 0x04008134 RID: 33076
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4008134")]
|
|
private SynchronizedField<bool> _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;
|
|
}
|
|
}
|