435 lines
14 KiB
C#
435 lines
14 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun.RecRoomCustom;
|
|
using RecRoom.Core;
|
|
using RecRoom.Core.DataStructures;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Networking
|
|
{
|
|
// Token: 0x0200226C RID: 8812
|
|
[Token(Token = "0x200226C")]
|
|
[StructLayout(3)]
|
|
public class NetworkCullingArea : SingletonMonoBehaviour<NetworkCullingArea>, INetworkCullingArea
|
|
{
|
|
// Token: 0x170028CA RID: 10442
|
|
// (get) Token: 0x0600F27A RID: 62074 RVA: 0x00395BCC File Offset: 0x00393DCC
|
|
// (set) Token: 0x0600F27B RID: 62075 RVA: 0x00395BE0 File Offset: 0x00393DE0
|
|
[Token(Token = "0x170028CA")]
|
|
public InterestGroupMember GBJKDHJEMGB
|
|
{
|
|
[Token(Token = "0x600F27A")]
|
|
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
|
|
get;
|
|
[Token(Token = "0x600F27B")]
|
|
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170028CB RID: 10443
|
|
// (get) Token: 0x0600F27C RID: 62076 RVA: 0x00395BF4 File Offset: 0x00393DF4
|
|
// (set) Token: 0x0600F27D RID: 62077 RVA: 0x00395C08 File Offset: 0x00393E08
|
|
[Token(Token = "0x170028CB")]
|
|
public List<InterestGroupMember> IPJHMGCJCLI
|
|
{
|
|
[Token(Token = "0x600F27C")]
|
|
[Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")]
|
|
get;
|
|
[Token(Token = "0x600F27D")]
|
|
[Address(RVA = "0x3D3460", Offset = "0x3D1E60", VA = "0x1803D3460")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x170028CC RID: 10444
|
|
// (get) Token: 0x0600F27E RID: 62078 RVA: 0x00395C1C File Offset: 0x00393E1C
|
|
[Token(Token = "0x170028CC")]
|
|
public bool OPPJPDCMKKJ
|
|
{
|
|
[Token(Token = "0x600F27E")]
|
|
[Address(RVA = "0xFA0250", Offset = "0xF9EC50", VA = "0x180FA0250")]
|
|
get
|
|
{
|
|
NetworkCullingOverride instance = SingletonMonoBehaviour.Instance;
|
|
int num = 0;
|
|
return instance == num || !SingletonMonoBehaviour.Instance.DisableNetworkLODCulling;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170028CD RID: 10445
|
|
// (get) Token: 0x0600F27F RID: 62079 RVA: 0x00395C50 File Offset: 0x00393E50
|
|
// (set) Token: 0x0600F280 RID: 62080 RVA: 0x00395C64 File Offset: 0x00393E64
|
|
[Token(Token = "0x170028CD")]
|
|
public int LLPAPOMPCHN
|
|
{
|
|
[Token(Token = "0x600F27F")]
|
|
[Address(RVA = "0x4F8170", Offset = "0x4F6B70", VA = "0x1804F8170")]
|
|
get;
|
|
[Token(Token = "0x600F280")]
|
|
[Address(RVA = "0x4F8620", Offset = "0x4F7020", VA = "0x1804F8620")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x170028CE RID: 10446
|
|
// (get) Token: 0x0600F281 RID: 62081 RVA: 0x00395C78 File Offset: 0x00393E78
|
|
// (set) Token: 0x0600F282 RID: 62082 RVA: 0x00395C8C File Offset: 0x00393E8C
|
|
[Token(Token = "0x170028CE")]
|
|
public SpatialTree EFPPGCLHHLN
|
|
{
|
|
[Token(Token = "0x600F281")]
|
|
[Address(RVA = "0x3EDE90", Offset = "0x3EC890", VA = "0x1803EDE90")]
|
|
get;
|
|
[Token(Token = "0x600F282")]
|
|
[Address(RVA = "0x3EDEC0", Offset = "0x3EC8C0", VA = "0x1803EDEC0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x0600F283 RID: 62083 RVA: 0x00395CA0 File Offset: 0x00393EA0
|
|
[Token(Token = "0x600F283")]
|
|
[Address(RVA = "0xF9FFE0", Offset = "0xF9E9E0", VA = "0x180F9FFE0")]
|
|
protected void Start()
|
|
{
|
|
float dynamicUpdateFrequency = this.DynamicUpdateFrequency;
|
|
Action<float> action = new Action(this.RecomputeCullingAreaBounds);
|
|
IDisposable disposable = ScheduledUpdateMonoBehaviourExtensions.UpdateAtRate(this, dynamicUpdateFrequency, action);
|
|
this.OJNCFPAHEIG = disposable;
|
|
}
|
|
|
|
// Token: 0x0600F284 RID: 62084 RVA: 0x00395CD4 File Offset: 0x00393ED4
|
|
[Token(Token = "0x600F284")]
|
|
[Address(RVA = "0xF9F460", Offset = "0xF9DE60", VA = "0x180F9F460", Slot = "5")]
|
|
protected override void OnDestroy()
|
|
{
|
|
if (this.OJNCFPAHEIG != 0)
|
|
{
|
|
}
|
|
this.OJNCFPAHEIG = (ulong)0L;
|
|
base.OnDestroy();
|
|
}
|
|
|
|
// Token: 0x0600F285 RID: 62085 RVA: 0x00395CFC File Offset: 0x00393EFC
|
|
[Token(Token = "0x600F285")]
|
|
[Address(RVA = "0xF9F4C0", Offset = "0xF9DEC0", VA = "0x180F9F4C0")]
|
|
public void OnDrawGizmos()
|
|
{
|
|
InterestGroupMember interestGroupMember = this.<HEJLOAPOPAF>k__BackingField;
|
|
int num = 0;
|
|
if (!(interestGroupMember == num))
|
|
{
|
|
SpatialTree spatialTree = this.<OHNFFHFKMAF>k__BackingField;
|
|
if (spatialTree != 0)
|
|
{
|
|
SpatialTreeNode.DebugVisualizationType visualizationType = this.VisualizationType;
|
|
spatialTree.EditorDraw(visualizationType);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600F286 RID: 62086 RVA: 0x00395D38 File Offset: 0x00393F38
|
|
[Token(Token = "0x600F286")]
|
|
[Address(RVA = "0xF9EF20", Offset = "0xF9D920", VA = "0x180F9EF20")]
|
|
public NetworkCullingArea.HIELABABANC GetInterestRegion(Vector3 DDHPAFKBMON)
|
|
{
|
|
int num = 0;
|
|
if (this.<OHNFFHFKMAF>k__BackingField != num)
|
|
{
|
|
InterestGroupMember interestGroupMember = this.<HEJLOAPOPAF>k__BackingField;
|
|
int num2 = 0;
|
|
if (!(interestGroupMember == num2))
|
|
{
|
|
List<byte> activeCells = this.<HEJLOAPOPAF>k__BackingField.ActiveCells;
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
return NetworkCullingArea.HIELABABANC.High;
|
|
}
|
|
|
|
// Token: 0x0600F287 RID: 62087 RVA: 0x00395DC8 File Offset: 0x00393FC8
|
|
[Token(Token = "0x600F287")]
|
|
[Address(RVA = "0xF9F170", Offset = "0xF9DB70", VA = "0x180F9F170")]
|
|
public void GetNearbyCells(Vector3 DDHPAFKBMON, float COINKFIPBLL, float AFDLECJAJIB, ref List<byte> LLCIDEKMKBG)
|
|
{
|
|
if (this.<OHNFFHFKMAF>k__BackingField != 0)
|
|
{
|
|
float z = DDHPAFKBMON.z;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600F288 RID: 62088 RVA: 0x00395DE8 File Offset: 0x00393FE8
|
|
[Token(Token = "0x600F288")]
|
|
[Address(RVA = "0xF9EB50", Offset = "0xF9D550", VA = "0x180F9EB50", Slot = "6")]
|
|
public void GetExactCells(Vector3 DDHPAFKBMON, List<byte> LLCIDEKMKBG)
|
|
{
|
|
if (this.<OHNFFHFKMAF>k__BackingField != (ulong)0L)
|
|
{
|
|
ulong num;
|
|
LLCIDEKMKBG.Add(num);
|
|
int num2 = 0;
|
|
SpatialTree spatialTree = this.<OHNFFHFKMAF>k__BackingField;
|
|
SpatialTree spatialTree2 = this.<OHNFFHFKMAF>k__BackingField;
|
|
Vector2 one = Vector2.one;
|
|
if (this.NumberOfSubdivisions > num2)
|
|
{
|
|
Vector2[] subdivisions = this.Subdivisions;
|
|
num += (ulong)num2;
|
|
uint num3;
|
|
num += (ulong)num3;
|
|
LLCIDEKMKBG.Add(num);
|
|
num2++;
|
|
num3 += (uint)num2;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600F289 RID: 62089 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600F289")]
|
|
[Address(RVA = "0xF9EE40", Offset = "0xF9D840", VA = "0x180F9EE40", Slot = "7")]
|
|
public byte GetGroup(ref int CCKAEGKJAMC, List<byte> GOIABCIPPHN)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600F28A RID: 62090 RVA: 0x00395E60 File Offset: 0x00394060
|
|
[Token(Token = "0x600F28A")]
|
|
[Address(RVA = "0xF9F240", Offset = "0xF9DC40", VA = "0x180F9F240")]
|
|
public bool IsInHighInterestRegion(Vector3 DDHPAFKBMON)
|
|
{
|
|
int num = 0;
|
|
if (this.<OHNFFHFKMAF>k__BackingField != num)
|
|
{
|
|
InterestGroupMember interestGroupMember = this.<HEJLOAPOPAF>k__BackingField;
|
|
int num2 = 0;
|
|
if (!(interestGroupMember == num2))
|
|
{
|
|
List<byte> activeCells = this.<HEJLOAPOPAF>k__BackingField.ActiveCells;
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600F28B RID: 62091 RVA: 0x00395ED0 File Offset: 0x003940D0
|
|
[Token(Token = "0x600F28B")]
|
|
[Address(RVA = "0xF9F540", Offset = "0xF9DF40", VA = "0x180F9F540")]
|
|
public void RecomputeCullingAreaBounds(float POGAEJIEPIM)
|
|
{
|
|
int num;
|
|
int num9;
|
|
do
|
|
{
|
|
num = 0;
|
|
int length = this.Subdivisions.Length;
|
|
uint num2;
|
|
uint num4;
|
|
if (num < length)
|
|
{
|
|
uint num3;
|
|
num2 = num3 * (uint)num;
|
|
num4 = num3 * (uint)num;
|
|
num++;
|
|
}
|
|
uint num5 = num4 * num2;
|
|
this.<IJNHAGPHDLD>k__BackingField = (int)num5;
|
|
NetworkCullingOverride instance = SingletonMonoBehaviour.Instance;
|
|
int num6 = 0;
|
|
if (!(instance == num6) && (SingletonMonoBehaviour.Instance.DisableNetworkLODCulling ? 1 : 0) != num)
|
|
{
|
|
goto IL_E1;
|
|
}
|
|
int num7 = 0;
|
|
List<Player> all = Player.All;
|
|
List.Enumerator enumerator;
|
|
if (enumerator != 0)
|
|
{
|
|
if (num7 != 0)
|
|
{
|
|
}
|
|
Vector3 zero = Vector3.zero;
|
|
}
|
|
if (num != -1)
|
|
{
|
|
ulong num8;
|
|
if (num8 == (ulong)0L)
|
|
{
|
|
return;
|
|
}
|
|
int numberOfSubdivisions = this.NumberOfSubdivisions;
|
|
Vector2 vector = this.Subdivisions[numberOfSubdivisions];
|
|
Vector3 vector2;
|
|
float z = vector2.z;
|
|
Vector3 vector3;
|
|
float z2 = vector3.z;
|
|
List<InterestGroupMember> list = this.<LPNKGHNAANE>k__BackingField;
|
|
List.Enumerator enumerator2;
|
|
if (enumerator2 == 0)
|
|
{
|
|
goto IL_BC;
|
|
}
|
|
}
|
|
if (num != 0)
|
|
{
|
|
continue;
|
|
}
|
|
IL_BC:
|
|
num++;
|
|
num9 = 0;
|
|
if (num != -1)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
SpatialTree spatialTree;
|
|
this.<OHNFFHFKMAF>k__BackingField = spatialTree;
|
|
Debug.LogError("Failed to build spatial tree correctly - network culling will not work as intended");
|
|
return;
|
|
IL_E1:
|
|
this.<OHNFFHFKMAF>k__BackingField = num9;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600F28C RID: 62092 RVA: 0x00395FCC File Offset: 0x003941CC
|
|
[Token(Token = "0x600F28C")]
|
|
[Address(RVA = "0xF9EA50", Offset = "0xF9D450", VA = "0x180F9EA50")]
|
|
private Vector2 DAHGNKJKHBF()
|
|
{
|
|
float minimumCellSize = this.MinimumCellSize;
|
|
int numberOfSubdivisions = this.NumberOfSubdivisions;
|
|
Vector2 vector = this.Subdivisions[numberOfSubdivisions];
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600F28D RID: 62093 RVA: 0x00395FFC File Offset: 0x003941FC
|
|
[Token(Token = "0x600F28D")]
|
|
[Address(RVA = "0xF9F1C0", Offset = "0xF9DBC0", VA = "0x180F9F1C0")]
|
|
private bool ICEFGLOFEPH()
|
|
{
|
|
Vector2[] subdivisions = this.Subdivisions;
|
|
int num = 0;
|
|
int length = subdivisions.Length;
|
|
if (num < length)
|
|
{
|
|
num++;
|
|
}
|
|
this.<IJNHAGPHDLD>k__BackingField = (int)((uint)1);
|
|
return (ulong)((uint)1) <= (ulong)249L;
|
|
}
|
|
|
|
// Token: 0x0600F28E RID: 62094 RVA: 0x00396040 File Offset: 0x00394240
|
|
[Token(Token = "0x600F28E")]
|
|
[Address(RVA = "0xFA0070", Offset = "0xF9EA70", VA = "0x180FA0070")]
|
|
public NetworkCullingArea()
|
|
{
|
|
int[] array = new int[4];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.8658990BAD6546E619D8A5C4F90BCF3F089E0953).FieldHandle);
|
|
this.SUBDIVISION_FIRST_LEVEL_ORDER = array;
|
|
int[] array2 = new int[8];
|
|
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.739C505E9F0985CE1E08892BC46BE5E839FF061A).FieldHandle);
|
|
this.SUBDIVISION_SECOND_LEVEL_ORDER = array2;
|
|
int[] array3 = new int[12];
|
|
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.35FDBB6669F521B572D4AD71DD77E77F43C1B71B).FieldHandle);
|
|
this.SUBDIVISION_THIRD_LEVEL_ORDER = array3;
|
|
this.VisualizationType = (SpatialTreeNode.DebugVisualizationType)((ulong)3L);
|
|
List<InterestGroupMember> list = new List();
|
|
this.IPJHMGCJCLI = list;
|
|
this.MinimumCellSize = 2.5f;
|
|
this.UpdateDynamically = true;
|
|
this.DynamicUpdateFrequency = 1f;
|
|
Vector2[] array4 = new Vector2[3];
|
|
this.Subdivisions = array4;
|
|
float z = Vector3.zero.z;
|
|
float z2 = Vector3.zero.z;
|
|
int num = 0;
|
|
this.JJOBMPIJJML = num;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400A1BD RID: 41405
|
|
[Token(Token = "0x400A1BD")]
|
|
public const int MAX_CELL_INDEX = 250;
|
|
|
|
// Token: 0x0400A1BE RID: 41406
|
|
[Token(Token = "0x400A1BE")]
|
|
public const int MAX_CELL_COUNT = 249;
|
|
|
|
// Token: 0x0400A1BF RID: 41407
|
|
[Token(Token = "0x400A1BF")]
|
|
public const byte FIRST_GROUP_ID = 1;
|
|
|
|
// Token: 0x0400A1C0 RID: 41408
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400A1C0")]
|
|
public readonly int[] SUBDIVISION_FIRST_LEVEL_ORDER;
|
|
|
|
// Token: 0x0400A1C1 RID: 41409
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400A1C1")]
|
|
public readonly int[] SUBDIVISION_SECOND_LEVEL_ORDER;
|
|
|
|
// Token: 0x0400A1C2 RID: 41410
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400A1C2")]
|
|
public readonly int[] SUBDIVISION_THIRD_LEVEL_ORDER;
|
|
|
|
// Token: 0x0400A1C3 RID: 41411
|
|
[Token(Token = "0x400A1C3")]
|
|
private const double MMGHMNJDPAE = 0.0001;
|
|
|
|
// Token: 0x0400A1C4 RID: 41412
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400A1C4")]
|
|
public SpatialTreeNode.DebugVisualizationType VisualizationType;
|
|
|
|
// Token: 0x0400A1C7 RID: 41415
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400A1C7")]
|
|
public float MinimumCellSize;
|
|
|
|
// Token: 0x0400A1C8 RID: 41416
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x400A1C8")]
|
|
public bool UpdateDynamically;
|
|
|
|
// Token: 0x0400A1C9 RID: 41417
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400A1C9")]
|
|
public float DynamicUpdateFrequency;
|
|
|
|
// Token: 0x0400A1CA RID: 41418
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x54")]
|
|
[Token(Token = "0x400A1CA")]
|
|
public int NumberOfSubdivisions;
|
|
|
|
// Token: 0x0400A1CD RID: 41421
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400A1CD")]
|
|
public Vector2[] Subdivisions;
|
|
|
|
// Token: 0x0400A1CE RID: 41422
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400A1CE")]
|
|
private Bounds JJOBMPIJJML;
|
|
|
|
// Token: 0x0400A1CF RID: 41423
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x400A1CF")]
|
|
private IDisposable OJNCFPAHEIG;
|
|
|
|
// Token: 0x0200226D RID: 8813
|
|
[Token(Token = "0x200226D")]
|
|
public enum HIELABABANC
|
|
{
|
|
// Token: 0x0400A1D1 RID: 41425
|
|
[Token(Token = "0x400A1D1")]
|
|
Global,
|
|
// Token: 0x0400A1D2 RID: 41426
|
|
[Token(Token = "0x400A1D2")]
|
|
Low,
|
|
// Token: 0x0400A1D3 RID: 41427
|
|
[Token(Token = "0x400A1D3")]
|
|
High
|
|
}
|
|
}
|
|
}
|