using System; using Cpp2IlInjected; using RecRoom.Core.Culling; using UnityEngine; namespace RecRoom.Core.Updates { // Token: 0x02002E44 RID: 11844 [Token(Token = "0x2002E44")] public class VisibilityGroup : MonoBehaviour, OFCHBCNPCBH { // Token: 0x1700379C RID: 14236 // (get) Token: 0x0601401E RID: 81950 RVA: 0x004A1330 File Offset: 0x0049F530 [Token(Token = "0x1700379C")] public EEDONNAHMFK PMEKAADPMAH { [Token(Token = "0x601401E")] [Address(RVA = "0x42B830", Offset = "0x42A830", VA = "0x18042B830")] get { return this.IHNKANMAFDM; } } // Token: 0x0601401F RID: 81951 RVA: 0x004A1344 File Offset: 0x0049F544 [Token(Token = "0x601401F")] [Address(RVA = "0x1610500", Offset = "0x160F500", VA = "0x181610500")] 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((int)num3, (ushort)num2); MEFKCIOFGAI cddmbbepiie = VisibilityGroup.CDDMBBEPIIE; num += num; num++; } // Token: 0x06014020 RID: 81952 RVA: 0x004A13C8 File Offset: 0x0049F5C8 [Token(Token = "0x6014020")] [Address(RVA = "0x1610EA0", Offset = "0x160FEA0", VA = "0x181610EA0")] private void Start() { this.PJOOKEOGIAA(); } // Token: 0x06014021 RID: 81953 RVA: 0x004A13DC File Offset: 0x0049F5DC [Token(Token = "0x6014021")] [Address(RVA = "0x1610A40", Offset = "0x160FA40", VA = "0x181610A40")] private void OnDestroy() { if (VisibilityGroup.CDDMBBEPIIE != 0) { int num = 0; num += num; num++; } } // Token: 0x06014022 RID: 81954 RVA: 0x004A13FC File Offset: 0x0049F5FC [Token(Token = "0x6014022")] [Address(RVA = "0x16108B0", Offset = "0x160F8B0", VA = "0x1816108B0")] 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: 0x06014023 RID: 81955 RVA: 0x004A144C File Offset: 0x0049F64C [Token(Token = "0x6014023")] [Address(RVA = "0x1610750", Offset = "0x160F750", VA = "0x181610750")] private bool DIPFBKHEAAI() { return this.IHNKANMAFDM <= this.minVisibilityUpdateLod || this.visibleInCamera.GDPKBEBEOBA; } // Token: 0x06014024 RID: 81956 RVA: 0x004A147C File Offset: 0x0049F67C [Token(Token = "0x6014024")] [Address(RVA = "0x1610950", Offset = "0x160F950", VA = "0x181610950")] 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: 0x06014025 RID: 81957 RVA: 0x004A14DC File Offset: 0x0049F6DC [Token(Token = "0x6014025")] [Address(RVA = "0x1610790", Offset = "0x160F790", VA = "0x181610790")] 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: 0x06014026 RID: 81958 RVA: 0x004A1524 File Offset: 0x0049F724 [Token(Token = "0x6014026")] [Address(RVA = "0x1610B00", Offset = "0x160FB00", VA = "0x181610B00")] 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: 0x06014027 RID: 81959 RVA: 0x004A15B8 File Offset: 0x0049F7B8 [Token(Token = "0x6014027")] [Address(RVA = "0x1610DC0", Offset = "0x160FDC0", VA = "0x181610DC0")] 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 visibilityChangedEvent = this.VisibilityChangedEvent; int num2 = 0; visibilityChangedEvent.CNFDGDEOPPF(num2); this.IHODDLMHDHP = false; return; } } } else if (aeneleocfpj == 0) { Action action = new Action(this.IONJHHDNPEB); IDisposable disposable = ADIFCODGAML.FOFJADGKNJF(this, action); this.AENELEOCFPJ = disposable; } } // Token: 0x06014028 RID: 81960 RVA: 0x004A1640 File Offset: 0x0049F840 [Token(Token = "0x6014028")] [Address(RVA = "0x1610A30", Offset = "0x160FA30", VA = "0x181610A30", Slot = "4")] public void OnChangedDistanceBand(EEDONNAHMFK AKMGILKNNCO, EEDONNAHMFK EDEMHOMGFJO) { this.IHNKANMAFDM = EDEMHOMGFJO; this.PJOOKEOGIAA(); } // Token: 0x06014029 RID: 81961 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6014029")] [Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "5")] public void OnChangedVisibility(bool AGILHLJPKPN) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0601402A RID: 81962 RVA: 0x004A165C File Offset: 0x0049F85C [Token(Token = "0x601402A")] [Address(RVA = "0x1610EB0", Offset = "0x160FEB0", VA = "0x181610EB0")] public VisibilityGroup() { int num; int num2; MFBGLIHGCGO mfbglihgcgo = new MFBGLIHGCGO(4, num != 0, num2 != 0); num2 = 0; num = 0; this.VisibilityChangedEvent = mfbglihgcgo; this.IHODDLMHDHP = true; base..ctor(); } // Token: 0x0400CF65 RID: 53093 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400CF65")] [SerializeField] [Tooltip("Objects within this distance are never disabled, even if they are not visible")] private EEDONNAHMFK minVisibilityUpdateLod = (EEDONNAHMFK)((ulong)1L); // Token: 0x0400CF66 RID: 53094 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x400CF66")] [SerializeField] [Tooltip("Only update if within or equal to this UpdateLOD")] private EEDONNAHMFK maxVisibilityUpdateLod = (EEDONNAHMFK)((ulong)4L); // Token: 0x0400CF67 RID: 53095 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400CF67")] [SerializeField] private Component[] trackedComponents; // Token: 0x0400CF68 RID: 53096 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400CF68")] [SerializeField] private GameObject[] trackedObjects; // Token: 0x0400CF69 RID: 53097 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400CF69")] [SerializeField] [NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)] private VisibleInCamera visibleInCamera; // Token: 0x0400CF6A RID: 53098 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400CF6A")] private EEDONNAHMFK IHNKANMAFDM; // Token: 0x0400CF6B RID: 53099 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400CF6B")] private IDisposable AENELEOCFPJ; // Token: 0x0400CF6C RID: 53100 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400CF6C")] public readonly MFBGLIHGCGO VisibilityChangedEvent; // Token: 0x0400CF6D RID: 53101 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400CF6D")] private bool IHODDLMHDHP; // Token: 0x0400CF6E RID: 53102 [Token(Token = "0x400CF6E")] private static MEFKCIOFGAI CDDMBBEPIIE; } }