Files
2026-04-08 23:40:05 +02:00

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
}
}
}