299 lines
8.3 KiB
C#
299 lines
8.3 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core.Culling;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.Updates
|
|
{
|
|
// Token: 0x02002D5A RID: 11610
|
|
[Token(Token = "0x2002D5A")]
|
|
public class VisibilityGroup : MonoBehaviour, OFCHBCNPCBH
|
|
{
|
|
// Token: 0x170036E6 RID: 14054
|
|
// (get) Token: 0x06013BD7 RID: 80855 RVA: 0x0049734C File Offset: 0x0049554C
|
|
[Token(Token = "0x170036E6")]
|
|
public EEDONNAHMFK PMEKAADPMAH
|
|
{
|
|
[Token(Token = "0x6013BD7")]
|
|
[Address(RVA = "0x40FFE0", Offset = "0x40EDE0", VA = "0x18040FFE0")]
|
|
get
|
|
{
|
|
return this.IHNKANMAFDM;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06013BD8 RID: 80856 RVA: 0x00497360 File Offset: 0x00495560
|
|
[Token(Token = "0x6013BD8")]
|
|
[Address(RVA = "0x9C4D40", Offset = "0x9C3B40", VA = "0x1809C4D40")]
|
|
private void Awake()
|
|
{
|
|
int num;
|
|
Component component;
|
|
do
|
|
{
|
|
Component[] array = this.trackedComponents;
|
|
num = 0;
|
|
int length = array.Length;
|
|
if (num >= length)
|
|
{
|
|
goto IL_35;
|
|
}
|
|
component = array[num];
|
|
}
|
|
while (component != 0 && component != 0 && component == 0);
|
|
num++;
|
|
IL_35:
|
|
CullingGroupManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
|
|
int num2 = 0;
|
|
uint num3;
|
|
VisibilityGroup.CDDMBBEPIIE = instance.GetOrCreateCullingGroup<VisibilityGroup>((int)num3, (ushort)num2);
|
|
MEFKCIOFGAI<VisibilityGroup> cddmbbepiie = VisibilityGroup.CDDMBBEPIIE;
|
|
num += num;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x06013BD9 RID: 80857 RVA: 0x004973E4 File Offset: 0x004955E4
|
|
[Token(Token = "0x6013BD9")]
|
|
[Address(RVA = "0x9C56E0", Offset = "0x9C44E0", VA = "0x1809C56E0")]
|
|
private void Start()
|
|
{
|
|
this.PJOOKEOGIAA();
|
|
}
|
|
|
|
// Token: 0x06013BDA RID: 80858 RVA: 0x004973F8 File Offset: 0x004955F8
|
|
[Token(Token = "0x6013BDA")]
|
|
[Address(RVA = "0x9C5280", Offset = "0x9C4080", VA = "0x1809C5280")]
|
|
private void OnDestroy()
|
|
{
|
|
if (VisibilityGroup.CDDMBBEPIIE != 0)
|
|
{
|
|
int num = 0;
|
|
num += num;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06013BDB RID: 80859 RVA: 0x00497418 File Offset: 0x00495618
|
|
[Token(Token = "0x6013BDB")]
|
|
[Address(RVA = "0x9C50F0", Offset = "0x9C3EF0", VA = "0x1809C50F0")]
|
|
private void IONJHHDNPEB(float POGAEJIEPIM)
|
|
{
|
|
if (this.IHNKANMAFDM > this.minVisibilityUpdateLod)
|
|
{
|
|
bool isVisible = this.visibleInCamera.GDPKBEBEOBA;
|
|
}
|
|
if (true != this.IHODDLMHDHP)
|
|
{
|
|
this.MLBAOONLBEM(true);
|
|
this.VisibilityChangedEvent.CNFDGDEOPPF(1);
|
|
this.IHODDLMHDHP = true;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06013BDC RID: 80860 RVA: 0x00497468 File Offset: 0x00495668
|
|
[Token(Token = "0x6013BDC")]
|
|
[Address(RVA = "0x9C4F90", Offset = "0x9C3D90", VA = "0x1809C4F90")]
|
|
private bool DIPFBKHEAAI()
|
|
{
|
|
return this.IHNKANMAFDM <= this.minVisibilityUpdateLod || this.visibleInCamera.GDPKBEBEOBA;
|
|
}
|
|
|
|
// Token: 0x06013BDD RID: 80861 RVA: 0x00497498 File Offset: 0x00495698
|
|
[Token(Token = "0x6013BDD")]
|
|
[Address(RVA = "0x9C5190", Offset = "0x9C3F90", VA = "0x1809C5190")]
|
|
private void MLBAOONLBEM(bool AGILHLJPKPN)
|
|
{
|
|
Component[] array = this.trackedComponents;
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
array[num].OFKIHGPJHJI(AGILHLJPKPN);
|
|
num++;
|
|
}
|
|
GameObject[] array2 = this.trackedObjects;
|
|
int length2 = array2.Length;
|
|
if (num < length2)
|
|
{
|
|
array2[num].SetActive(AGILHLJPKPN);
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06013BDE RID: 80862 RVA: 0x004974F8 File Offset: 0x004956F8
|
|
[Token(Token = "0x6013BDE")]
|
|
[Address(RVA = "0x9C4FD0", Offset = "0x9C3DD0", VA = "0x1809C4FD0")]
|
|
private void EBOKHHOFNDG()
|
|
{
|
|
int num;
|
|
Component component;
|
|
do
|
|
{
|
|
Component[] array = this.trackedComponents;
|
|
num = 0;
|
|
int num2 = 0;
|
|
int length = array.Length;
|
|
if (num2 >= length)
|
|
{
|
|
return;
|
|
}
|
|
component = array[num];
|
|
}
|
|
while (component != 0 && component != 0 && component == 0);
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x06013BDF RID: 80863 RVA: 0x00497540 File Offset: 0x00495740
|
|
[Token(Token = "0x6013BDF")]
|
|
[Address(RVA = "0x9C5340", Offset = "0x9C4140", VA = "0x1809C5340")]
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
CameraRig instance = SingletonMonoBehaviour.ONCPNMDGGKG;
|
|
int num = 0;
|
|
if (instance != num)
|
|
{
|
|
int num2 = 0;
|
|
if ((this.IHODDLMHDHP ? 1 : 0) == num2)
|
|
{
|
|
Color yellow = Color.yellow;
|
|
}
|
|
Color green = Color.green;
|
|
object[] array = new object[2];
|
|
array[0] = this;
|
|
Transform transform = base.transform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Transform transform2 = SingletonMonoBehaviour.ONCPNMDGGKG.CHLMFLCFGFL.transform;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
if (vector2 != 0)
|
|
{
|
|
}
|
|
array[1] = vector2;
|
|
Debug.LogFormat("Distance to {0}: {1}", array);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06013BE0 RID: 80864 RVA: 0x004975D4 File Offset: 0x004957D4
|
|
[Token(Token = "0x6013BE0")]
|
|
[Address(RVA = "0x9C5600", Offset = "0x9C4400", VA = "0x1809C5600")]
|
|
private void PJOOKEOGIAA()
|
|
{
|
|
EEDONNAHMFK eedonnahmfk = this.maxVisibilityUpdateLod;
|
|
IDisposable aeneleocfpj = this.AENELEOCFPJ;
|
|
if (this.IHNKANMAFDM > eedonnahmfk)
|
|
{
|
|
if (aeneleocfpj != 0)
|
|
{
|
|
this.AENELEOCFPJ = (ulong)0L;
|
|
if (this.IHODDLMHDHP)
|
|
{
|
|
int num = 0;
|
|
this.MLBAOONLBEM(num != 0);
|
|
MFBGLIHGCGO<bool> visibilityChangedEvent = this.VisibilityChangedEvent;
|
|
int num2 = 0;
|
|
visibilityChangedEvent.CNFDGDEOPPF(num2);
|
|
this.IHODDLMHDHP = false;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
else if (aeneleocfpj == 0)
|
|
{
|
|
Action<float> action = new Action(this.IONJHHDNPEB);
|
|
IDisposable disposable = ADIFCODGAML.FOFJADGKNJF(this, action);
|
|
this.AENELEOCFPJ = disposable;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06013BE1 RID: 80865 RVA: 0x0049765C File Offset: 0x0049585C
|
|
[Token(Token = "0x6013BE1")]
|
|
[Address(RVA = "0x9C5270", Offset = "0x9C4070", VA = "0x1809C5270", Slot = "4")]
|
|
public void OnChangedDistanceBand(EEDONNAHMFK AKMGILKNNCO, EEDONNAHMFK EDEMHOMGFJO)
|
|
{
|
|
this.IHNKANMAFDM = EDEMHOMGFJO;
|
|
this.PJOOKEOGIAA();
|
|
}
|
|
|
|
// Token: 0x06013BE2 RID: 80866 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6013BE2")]
|
|
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "5")]
|
|
public void OnChangedVisibility(bool AGILHLJPKPN)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06013BE3 RID: 80867 RVA: 0x00497678 File Offset: 0x00495878
|
|
[Token(Token = "0x6013BE3")]
|
|
[Address(RVA = "0x9C56F0", Offset = "0x9C44F0", VA = "0x1809C56F0")]
|
|
public VisibilityGroup()
|
|
{
|
|
int num;
|
|
int num2;
|
|
MFBGLIHGCGO<bool> mfbglihgcgo = new MFBGLIHGCGO(4, num != 0, num2 != 0);
|
|
num2 = 0;
|
|
num = 0;
|
|
this.VisibilityChangedEvent = mfbglihgcgo;
|
|
this.IHODDLMHDHP = true;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400CD46 RID: 52550
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400CD46")]
|
|
[SerializeField]
|
|
[Tooltip("Objects within this distance are never disabled, even if they are not visible")]
|
|
private EEDONNAHMFK minVisibilityUpdateLod = (EEDONNAHMFK)((ulong)1L);
|
|
|
|
// Token: 0x0400CD47 RID: 52551
|
|
[FieldOffset(Offset = "0x1C")]
|
|
[Token(Token = "0x400CD47")]
|
|
[SerializeField]
|
|
[Tooltip("Only update if within or equal to this UpdateLOD")]
|
|
private EEDONNAHMFK maxVisibilityUpdateLod = (EEDONNAHMFK)((ulong)4L);
|
|
|
|
// Token: 0x0400CD48 RID: 52552
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400CD48")]
|
|
[SerializeField]
|
|
private Component[] trackedComponents;
|
|
|
|
// Token: 0x0400CD49 RID: 52553
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400CD49")]
|
|
[SerializeField]
|
|
private GameObject[] trackedObjects;
|
|
|
|
// Token: 0x0400CD4A RID: 52554
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400CD4A")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
|
|
private VisibleInCamera visibleInCamera;
|
|
|
|
// Token: 0x0400CD4B RID: 52555
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400CD4B")]
|
|
private EEDONNAHMFK IHNKANMAFDM;
|
|
|
|
// Token: 0x0400CD4C RID: 52556
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400CD4C")]
|
|
private IDisposable AENELEOCFPJ;
|
|
|
|
// Token: 0x0400CD4D RID: 52557
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400CD4D")]
|
|
public readonly MFBGLIHGCGO<bool> VisibilityChangedEvent;
|
|
|
|
// Token: 0x0400CD4E RID: 52558
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400CD4E")]
|
|
private bool IHODDLMHDHP;
|
|
|
|
// Token: 0x0400CD4F RID: 52559
|
|
[Token(Token = "0x400CD4F")]
|
|
private static MEFKCIOFGAI<VisibilityGroup> CDDMBBEPIIE;
|
|
}
|
|
}
|