291 lines
8.2 KiB
C#
291 lines
8.2 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core.Culling;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.Updates
|
|
{
|
|
// Token: 0x02002855 RID: 10325
|
|
[Token(Token = "0x2002855")]
|
|
[StructLayout(3)]
|
|
public class VisibilityGroup : MonoBehaviour, OFCHBCNPCBH
|
|
{
|
|
// Token: 0x170030E4 RID: 12516
|
|
// (get) Token: 0x0601213D RID: 74045 RVA: 0x00450FEC File Offset: 0x0044F1EC
|
|
[Token(Token = "0x170030E4")]
|
|
public EEDONNAHMFK PMEKAADPMAH
|
|
{
|
|
[Token(Token = "0x601213D")]
|
|
[Address(RVA = "0x3D3FF0", Offset = "0x3D29F0", VA = "0x1803D3FF0")]
|
|
get
|
|
{
|
|
return this.IHNKANMAFDM;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601213E RID: 74046 RVA: 0x00451000 File Offset: 0x0044F200
|
|
[Token(Token = "0x601213E")]
|
|
[Address(RVA = "0x136F1F0", Offset = "0x136DBF0", VA = "0x18136F1F0")]
|
|
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.Instance;
|
|
int num2 = 0;
|
|
uint num3;
|
|
VisibilityGroup.CDDMBBEPIIE = instance.GetOrCreateCullingGroup<VisibilityGroup>((int)num3, (ushort)num2);
|
|
MEFKCIOFGAI<VisibilityGroup> cddmbbepiie = VisibilityGroup.CDDMBBEPIIE;
|
|
num += num;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0601213F RID: 74047 RVA: 0x00451084 File Offset: 0x0044F284
|
|
[Token(Token = "0x601213F")]
|
|
[Address(RVA = "0x136FB90", Offset = "0x136E590", VA = "0x18136FB90")]
|
|
private void Start()
|
|
{
|
|
this.PJOOKEOGIAA();
|
|
}
|
|
|
|
// Token: 0x06012140 RID: 74048 RVA: 0x00451098 File Offset: 0x0044F298
|
|
[Token(Token = "0x6012140")]
|
|
[Address(RVA = "0x136F730", Offset = "0x136E130", VA = "0x18136F730")]
|
|
private void OnDestroy()
|
|
{
|
|
if (VisibilityGroup.CDDMBBEPIIE != 0)
|
|
{
|
|
int num = 0;
|
|
num += num;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012141 RID: 74049 RVA: 0x004510B8 File Offset: 0x0044F2B8
|
|
[Token(Token = "0x6012141")]
|
|
[Address(RVA = "0x136F5A0", Offset = "0x136DFA0", VA = "0x18136F5A0")]
|
|
private void IONJHHDNPEB(float POGAEJIEPIM)
|
|
{
|
|
if (this.IHNKANMAFDM > this.minVisibilityUpdateLod)
|
|
{
|
|
bool isVisible = this.visibleInCamera.GDPKBEBEOBA;
|
|
}
|
|
if (true != this.IHODDLMHDHP)
|
|
{
|
|
this.MLBAOONLBEM(true);
|
|
this.VisibilityChangedEvent.Invoke(1);
|
|
this.IHODDLMHDHP = true;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012142 RID: 74050 RVA: 0x00451108 File Offset: 0x0044F308
|
|
[Token(Token = "0x6012142")]
|
|
[Address(RVA = "0x136F440", Offset = "0x136DE40", VA = "0x18136F440")]
|
|
private bool DIPFBKHEAAI()
|
|
{
|
|
return this.IHNKANMAFDM <= this.minVisibilityUpdateLod || this.visibleInCamera.GDPKBEBEOBA;
|
|
}
|
|
|
|
// Token: 0x06012143 RID: 74051 RVA: 0x00451138 File Offset: 0x0044F338
|
|
[Token(Token = "0x6012143")]
|
|
[Address(RVA = "0x136F640", Offset = "0x136E040", VA = "0x18136F640")]
|
|
private void MLBAOONLBEM(bool AGILHLJPKPN)
|
|
{
|
|
Component[] array = this.trackedComponents;
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
array[num].SetEnabled(AGILHLJPKPN);
|
|
num++;
|
|
}
|
|
GameObject[] array2 = this.trackedObjects;
|
|
int length2 = array2.Length;
|
|
if (num < length2)
|
|
{
|
|
array2[num].SetActive(AGILHLJPKPN);
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012144 RID: 74052 RVA: 0x00451198 File Offset: 0x0044F398
|
|
[Token(Token = "0x6012144")]
|
|
[Address(RVA = "0x136F480", Offset = "0x136DE80", VA = "0x18136F480")]
|
|
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: 0x06012145 RID: 74053 RVA: 0x004511E0 File Offset: 0x0044F3E0
|
|
[Token(Token = "0x6012145")]
|
|
[Address(RVA = "0x136F7F0", Offset = "0x136E1F0", VA = "0x18136F7F0")]
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
CameraRig instance = SingletonMonoBehaviour.Instance;
|
|
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.Instance.CHLMFLCFGFL.transform;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
if (vector2 != 0)
|
|
{
|
|
}
|
|
array[1] = vector2;
|
|
Debug.LogFormat("Distance to {0}: {1}", array);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012146 RID: 74054 RVA: 0x00451274 File Offset: 0x0044F474
|
|
[Token(Token = "0x6012146")]
|
|
[Address(RVA = "0x136FAB0", Offset = "0x136E4B0", VA = "0x18136FAB0")]
|
|
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);
|
|
ActionEvent<bool> visibilityChangedEvent = this.VisibilityChangedEvent;
|
|
int num2 = 0;
|
|
visibilityChangedEvent.Invoke(num2);
|
|
this.IHODDLMHDHP = false;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
else if (aeneleocfpj == 0)
|
|
{
|
|
Action<float> action = new Action(this.IONJHHDNPEB);
|
|
IDisposable disposable = ScheduledUpdateMonoBehaviourExtensions.Update10hz(this, action);
|
|
this.AENELEOCFPJ = disposable;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012147 RID: 74055 RVA: 0x004512FC File Offset: 0x0044F4FC
|
|
[Token(Token = "0x6012147")]
|
|
[Address(RVA = "0x136F720", Offset = "0x136E120", VA = "0x18136F720", Slot = "4")]
|
|
public void OnChangedDistanceBand(EEDONNAHMFK AKMGILKNNCO, EEDONNAHMFK EDEMHOMGFJO)
|
|
{
|
|
this.IHNKANMAFDM = EDEMHOMGFJO;
|
|
this.PJOOKEOGIAA();
|
|
}
|
|
|
|
// Token: 0x06012148 RID: 74056 RVA: 0x00451318 File Offset: 0x0044F518
|
|
[Token(Token = "0x6012148")]
|
|
[Address(RVA = "0x136FBA0", Offset = "0x136E5A0", VA = "0x18136FBA0")]
|
|
public VisibilityGroup()
|
|
{
|
|
int num;
|
|
ActionEvent<bool> actionEvent = new ActionEvent(4, num != 0);
|
|
num = 0;
|
|
this.VisibilityChangedEvent = actionEvent;
|
|
this.IHODDLMHDHP = true;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400C159 RID: 49497
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400C159")]
|
|
[SerializeField]
|
|
[Tooltip("Objects within this distance are never disabled, even if they are not visible")]
|
|
private EEDONNAHMFK minVisibilityUpdateLod = (EEDONNAHMFK)((ulong)1L);
|
|
|
|
// Token: 0x0400C15A RID: 49498
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
|
[Token(Token = "0x400C15A")]
|
|
[SerializeField]
|
|
[Tooltip("Only update if within or equal to this UpdateLOD")]
|
|
private EEDONNAHMFK maxVisibilityUpdateLod = (EEDONNAHMFK)((ulong)4L);
|
|
|
|
// Token: 0x0400C15B RID: 49499
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400C15B")]
|
|
[SerializeField]
|
|
private Component[] trackedComponents;
|
|
|
|
// Token: 0x0400C15C RID: 49500
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400C15C")]
|
|
[SerializeField]
|
|
private GameObject[] trackedObjects;
|
|
|
|
// Token: 0x0400C15D RID: 49501
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400C15D")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
|
|
private VisibleInCamera visibleInCamera;
|
|
|
|
// Token: 0x0400C15E RID: 49502
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400C15E")]
|
|
private EEDONNAHMFK IHNKANMAFDM;
|
|
|
|
// Token: 0x0400C15F RID: 49503
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400C15F")]
|
|
private IDisposable AENELEOCFPJ;
|
|
|
|
// Token: 0x0400C160 RID: 49504
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400C160")]
|
|
public readonly ActionEvent<bool> VisibilityChangedEvent;
|
|
|
|
// Token: 0x0400C161 RID: 49505
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400C161")]
|
|
private bool IHODDLMHDHP;
|
|
|
|
// Token: 0x0400C162 RID: 49506
|
|
[Token(Token = "0x400C162")]
|
|
private static MEFKCIOFGAI<VisibilityGroup> CDDMBBEPIIE;
|
|
}
|
|
}
|