472 lines
14 KiB
C#
472 lines
14 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.CompilerServices;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Networking
|
|
{
|
|
// Token: 0x020024A3 RID: 9379
|
|
[Token(Token = "0x20024A3")]
|
|
public class NetworkCullingArea : SingletonMonoBehaviour<NetworkCullingArea>, COLMCCFNBIA
|
|
{
|
|
// Token: 0x17002774 RID: 10100
|
|
// (get) Token: 0x0600F1B2 RID: 61874 RVA: 0x003787CC File Offset: 0x003769CC
|
|
// (set) Token: 0x0600F1B3 RID: 61875 RVA: 0x003787E0 File Offset: 0x003769E0
|
|
[Token(Token = "0x17002774")]
|
|
public InterestGroupMember GBJKDHJEMGB
|
|
{
|
|
[Token(Token = "0x600F1B2")]
|
|
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
|
|
get;
|
|
[Token(Token = "0x600F1B3")]
|
|
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x17002775 RID: 10101
|
|
// (get) Token: 0x0600F1B4 RID: 61876 RVA: 0x003787F4 File Offset: 0x003769F4
|
|
// (set) Token: 0x0600F1B5 RID: 61877 RVA: 0x00378808 File Offset: 0x00376A08
|
|
[Token(Token = "0x17002775")]
|
|
public List<InterestGroupMember> IPJHMGCJCLI
|
|
{
|
|
[Token(Token = "0x600F1B4")]
|
|
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")]
|
|
get;
|
|
[Token(Token = "0x600F1B5")]
|
|
[Address(RVA = "0x403B30", Offset = "0x402930", VA = "0x180403B30")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17002776 RID: 10102
|
|
// (get) Token: 0x0600F1B6 RID: 61878 RVA: 0x0037881C File Offset: 0x00376A1C
|
|
[Token(Token = "0x17002776")]
|
|
public bool OPPJPDCMKKJ
|
|
{
|
|
[Token(Token = "0x600F1B6")]
|
|
[Address(RVA = "0x8BF540", Offset = "0x8BE340", VA = "0x1808BF540")]
|
|
get
|
|
{
|
|
NetworkCullingOverride instance = SingletonMonoBehaviour.ONCPNMDGGKG;
|
|
int num = 0;
|
|
return instance == num || !SingletonMonoBehaviour.ONCPNMDGGKG.DisableNetworkLODCulling;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17002777 RID: 10103
|
|
// (get) Token: 0x0600F1B7 RID: 61879 RVA: 0x00378850 File Offset: 0x00376A50
|
|
// (set) Token: 0x0600F1B8 RID: 61880 RVA: 0x00378864 File Offset: 0x00376A64
|
|
[Token(Token = "0x17002777")]
|
|
public int LLPAPOMPCHN
|
|
{
|
|
[Token(Token = "0x600F1B7")]
|
|
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
|
|
get;
|
|
[Token(Token = "0x600F1B8")]
|
|
[Address(RVA = "0x568560", Offset = "0x567360", VA = "0x180568560")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17002778 RID: 10104
|
|
// (get) Token: 0x0600F1B9 RID: 61881 RVA: 0x00378878 File Offset: 0x00376A78
|
|
// (set) Token: 0x0600F1BA RID: 61882 RVA: 0x0037888C File Offset: 0x00376A8C
|
|
[Token(Token = "0x17002778")]
|
|
public OHFHKIPINGN EFPPGCLHHLN
|
|
{
|
|
[Token(Token = "0x600F1B9")]
|
|
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
|
|
get;
|
|
[Token(Token = "0x600F1BA")]
|
|
[Address(RVA = "0x567490", Offset = "0x566290", VA = "0x180567490")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x0600F1BB RID: 61883 RVA: 0x003788A0 File Offset: 0x00376AA0
|
|
[Token(Token = "0x600F1BB")]
|
|
[Address(RVA = "0x8BF2D0", Offset = "0x8BE0D0", VA = "0x1808BF2D0")]
|
|
protected void Start()
|
|
{
|
|
float dynamicUpdateFrequency = this.DynamicUpdateFrequency;
|
|
Action<float> action = new Action(this.RecomputeCullingAreaBounds);
|
|
IDisposable disposable = ADIFCODGAML.FLMKKKHMJBN(this, dynamicUpdateFrequency, action);
|
|
this.OJNCFPAHEIG = disposable;
|
|
}
|
|
|
|
// Token: 0x0600F1BC RID: 61884 RVA: 0x003788D4 File Offset: 0x00376AD4
|
|
[Token(Token = "0x600F1BC")]
|
|
[Address(RVA = "0x8BE780", Offset = "0x8BD580", VA = "0x1808BE780", Slot = "5")]
|
|
protected override void OnDestroy()
|
|
{
|
|
if (this.OJNCFPAHEIG != 0)
|
|
{
|
|
}
|
|
this.OJNCFPAHEIG = (ulong)0L;
|
|
base.OnDestroy();
|
|
}
|
|
|
|
// Token: 0x0600F1BD RID: 61885 RVA: 0x003788FC File Offset: 0x00376AFC
|
|
[Token(Token = "0x600F1BD")]
|
|
[Address(RVA = "0x8BE7E0", Offset = "0x8BD5E0", VA = "0x1808BE7E0")]
|
|
public void OnDrawGizmos()
|
|
{
|
|
InterestGroupMember interestGroupMember = this.<HEJLOAPOPAF>k__BackingField;
|
|
int num = 0;
|
|
if (!(interestGroupMember == num))
|
|
{
|
|
OHFHKIPINGN ohfhkipingn = this.<OHNFFHFKMAF>k__BackingField;
|
|
if (ohfhkipingn != 0)
|
|
{
|
|
MHJBJPJHPFD.HCMDPIPMANH visualizationType = this.VisualizationType;
|
|
ohfhkipingn.GEPJEOGAEEH(visualizationType);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600F1BE RID: 61886 RVA: 0x00378938 File Offset: 0x00376B38
|
|
[Token(Token = "0x600F1BE")]
|
|
[Address(RVA = "0x8BE250", Offset = "0x8BD050", VA = "0x1808BE250")]
|
|
public NetworkCullingArea.HIELABABANC GetInterestRegion(Vector3 DDHPAFKBMON)
|
|
{
|
|
int num;
|
|
bool flag;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (this.<OHNFFHFKMAF>k__BackingField == num)
|
|
{
|
|
return NetworkCullingArea.HIELABABANC.High;
|
|
}
|
|
InterestGroupMember interestGroupMember = this.<HEJLOAPOPAF>k__BackingField;
|
|
int num2 = 0;
|
|
if (interestGroupMember == num2)
|
|
{
|
|
return NetworkCullingArea.HIELABABANC.High;
|
|
}
|
|
List<byte> activeCells = this.<HEJLOAPOPAF>k__BackingField.ActiveCells;
|
|
if (flag)
|
|
{
|
|
OHFHKIPINGN ohfhkipingn = this.<OHNFFHFKMAF>k__BackingField;
|
|
bool flag2;
|
|
while (!flag2)
|
|
{
|
|
}
|
|
MHJBJPJHPFD mhjbjpjhpfd;
|
|
MHJBJPJHPFD.ENGKDHJBBKF dpdnblnnccg = mhjbjpjhpfd.DPDNBLNNCCG;
|
|
if (dpdnblnnccg != MHJBJPJHPFD.ENGKDHJBBKF.Leaf)
|
|
{
|
|
while (dpdnblnnccg != MHJBJPJHPFD.ENGKDHJBBKF.Node)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
while (flag);
|
|
if (num != -1)
|
|
{
|
|
}
|
|
return NetworkCullingArea.HIELABABANC.High;
|
|
}
|
|
|
|
// Token: 0x0600F1BF RID: 61887 RVA: 0x003789AC File Offset: 0x00376BAC
|
|
[Token(Token = "0x600F1BF")]
|
|
[Address(RVA = "0x8BE4A0", Offset = "0x8BD2A0", VA = "0x1808BE4A0")]
|
|
public void GetNearbyCells(Vector3 DDHPAFKBMON, float COINKFIPBLL, float AFDLECJAJIB, ref List<byte> LLCIDEKMKBG)
|
|
{
|
|
if (this.<OHNFFHFKMAF>k__BackingField != 0)
|
|
{
|
|
float z = DDHPAFKBMON.z;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600F1C0 RID: 61888 RVA: 0x003789CC File Offset: 0x00376BCC
|
|
[Token(Token = "0x600F1C0")]
|
|
[Address(RVA = "0x8BDE80", Offset = "0x8BCC80", VA = "0x1808BDE80", 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;
|
|
OHFHKIPINGN ohfhkipingn = this.<OHNFFHFKMAF>k__BackingField;
|
|
OHFHKIPINGN ohfhkipingn2 = 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: 0x0600F1C1 RID: 61889 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600F1C1")]
|
|
[Address(RVA = "0x8BE170", Offset = "0x8BCF70", VA = "0x1808BE170", 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: 0x0600F1C2 RID: 61890 RVA: 0x00378A44 File Offset: 0x00376C44
|
|
[Token(Token = "0x600F1C2")]
|
|
[Address(RVA = "0x8BE570", Offset = "0x8BD370", VA = "0x1808BE570")]
|
|
public bool IsInHighInterestRegion(Vector3 DDHPAFKBMON)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (this.<OHNFFHFKMAF>k__BackingField == num)
|
|
{
|
|
goto IL_4E;
|
|
}
|
|
InterestGroupMember interestGroupMember = this.<HEJLOAPOPAF>k__BackingField;
|
|
int num2 = 0;
|
|
if (interestGroupMember == num2)
|
|
{
|
|
goto IL_4E;
|
|
}
|
|
List<byte> activeCells = this.<HEJLOAPOPAF>k__BackingField.ActiveCells;
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
OHFHKIPINGN ohfhkipingn = this.<OHNFFHFKMAF>k__BackingField;
|
|
MHJBJPJHPFD mhjbjpjhpfd;
|
|
while (mhjbjpjhpfd.DPDNBLNNCCG != MHJBJPJHPFD.ENGKDHJBBKF.Leaf)
|
|
{
|
|
}
|
|
bool flag2;
|
|
while (!flag2)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
while (num != 0);
|
|
if (num != -1)
|
|
{
|
|
}
|
|
IL_4E:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600F1C3 RID: 61891 RVA: 0x00378AB0 File Offset: 0x00376CB0
|
|
[Token(Token = "0x600F1C3")]
|
|
[Address(RVA = "0x8BE860", Offset = "0x8BD660", VA = "0x1808BE860")]
|
|
public void RecomputeCullingAreaBounds(float POGAEJIEPIM)
|
|
{
|
|
int num9;
|
|
for (;;)
|
|
{
|
|
int 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.ONCPNMDGGKG;
|
|
int num6 = 0;
|
|
if (!(instance == num6) && (SingletonMonoBehaviour.ONCPNMDGGKG.DisableNetworkLODCulling ? 1 : 0) != num)
|
|
{
|
|
goto IL_D6;
|
|
}
|
|
int num7 = 0;
|
|
List<Player> all = Player.All;
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
if (num7 != 0)
|
|
{
|
|
}
|
|
Vector3 zero = Vector3.zero;
|
|
}
|
|
if (num == 0)
|
|
{
|
|
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;
|
|
List<InterestGroupMember> list = this.<LPNKGHNAANE>k__BackingField;
|
|
bool flag2;
|
|
if (flag2)
|
|
{
|
|
}
|
|
num9 = 0;
|
|
if (num == 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
OHFHKIPINGN ohfhkipingn;
|
|
this.<OHNFFHFKMAF>k__BackingField = ohfhkipingn;
|
|
Debug.LogError("Failed to build spatial tree correctly - network culling will not work as intended");
|
|
return;
|
|
IL_D6:
|
|
this.<OHNFFHFKMAF>k__BackingField = num9;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600F1C4 RID: 61892 RVA: 0x00378BA0 File Offset: 0x00376DA0
|
|
[Token(Token = "0x600F1C4")]
|
|
[Address(RVA = "0x8BDD80", Offset = "0x8BCB80", VA = "0x1808BDD80")]
|
|
private Vector2 DAHGNKJKHBF()
|
|
{
|
|
float minimumCellSize = this.MinimumCellSize;
|
|
int numberOfSubdivisions = this.NumberOfSubdivisions;
|
|
Vector2 vector = this.Subdivisions[numberOfSubdivisions];
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600F1C5 RID: 61893 RVA: 0x00378BD0 File Offset: 0x00376DD0
|
|
[Token(Token = "0x600F1C5")]
|
|
[Address(RVA = "0x8BE4F0", Offset = "0x8BD2F0", VA = "0x1808BE4F0")]
|
|
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: 0x0600F1C6 RID: 61894 RVA: 0x00378C14 File Offset: 0x00376E14
|
|
[Token(Token = "0x600F1C6")]
|
|
[Address(RVA = "0x8BF360", Offset = "0x8BE160", VA = "0x1808BF360")]
|
|
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 = (MHJBJPJHPFD.HCMDPIPMANH)((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: 0x0400A069 RID: 41065
|
|
[Token(Token = "0x400A069")]
|
|
public const int MAX_CELL_INDEX = 250;
|
|
|
|
// Token: 0x0400A06A RID: 41066
|
|
[Token(Token = "0x400A06A")]
|
|
public const int MAX_CELL_COUNT = 249;
|
|
|
|
// Token: 0x0400A06B RID: 41067
|
|
[Token(Token = "0x400A06B")]
|
|
public const byte FIRST_GROUP_ID = 1;
|
|
|
|
// Token: 0x0400A06C RID: 41068
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400A06C")]
|
|
public readonly int[] SUBDIVISION_FIRST_LEVEL_ORDER;
|
|
|
|
// Token: 0x0400A06D RID: 41069
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400A06D")]
|
|
public readonly int[] SUBDIVISION_SECOND_LEVEL_ORDER;
|
|
|
|
// Token: 0x0400A06E RID: 41070
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400A06E")]
|
|
public readonly int[] SUBDIVISION_THIRD_LEVEL_ORDER;
|
|
|
|
// Token: 0x0400A06F RID: 41071
|
|
[Token(Token = "0x400A06F")]
|
|
private const double MMGHMNJDPAE = 0.0001;
|
|
|
|
// Token: 0x0400A070 RID: 41072
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400A070")]
|
|
public MHJBJPJHPFD.HCMDPIPMANH VisualizationType;
|
|
|
|
// Token: 0x0400A073 RID: 41075
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400A073")]
|
|
public float MinimumCellSize;
|
|
|
|
// Token: 0x0400A074 RID: 41076
|
|
[FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x400A074")]
|
|
public bool UpdateDynamically;
|
|
|
|
// Token: 0x0400A075 RID: 41077
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400A075")]
|
|
public float DynamicUpdateFrequency;
|
|
|
|
// Token: 0x0400A076 RID: 41078
|
|
[FieldOffset(Offset = "0x54")]
|
|
[Token(Token = "0x400A076")]
|
|
public int NumberOfSubdivisions;
|
|
|
|
// Token: 0x0400A079 RID: 41081
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400A079")]
|
|
public Vector2[] Subdivisions;
|
|
|
|
// Token: 0x0400A07A RID: 41082
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400A07A")]
|
|
private Bounds JJOBMPIJJML;
|
|
|
|
// Token: 0x0400A07B RID: 41083
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x400A07B")]
|
|
private IDisposable OJNCFPAHEIG;
|
|
|
|
// Token: 0x020024A4 RID: 9380
|
|
[Token(Token = "0x20024A4")]
|
|
public enum HIELABABANC
|
|
{
|
|
// Token: 0x0400A07D RID: 41085
|
|
[Token(Token = "0x400A07D")]
|
|
Global,
|
|
// Token: 0x0400A07E RID: 41086
|
|
[Token(Token = "0x400A07E")]
|
|
Low,
|
|
// Token: 0x0400A07F RID: 41087
|
|
[Token(Token = "0x400A07F")]
|
|
High
|
|
}
|
|
}
|
|
}
|