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

188 lines
5.3 KiB
C#

using System;
using System.Linq;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom;
using RecRoom.Core;
using UnityEngine;
// Token: 0x02000630 RID: 1584
[Token(Token = "0x2000630")]
[StructLayout(3)]
public class OcclusionVolume : MonoBehaviour
{
// Token: 0x1700080C RID: 2060
// (get) Token: 0x06002E01 RID: 11777 RVA: 0x000C07BC File Offset: 0x000BE9BC
// (set) Token: 0x06002E02 RID: 11778 RVA: 0x000C07D0 File Offset: 0x000BE9D0
[Token(Token = "0x1700080C")]
public bool ICECPIKHHIJ
{
[Token(Token = "0x6002E01")]
[Address(RVA = "0x4FBF40", Offset = "0x4FA940", VA = "0x1804FBF40")]
get
{
return this.DPKNAEKAHCC;
}
[Token(Token = "0x6002E02")]
[Address(RVA = "0x17DE4A0", Offset = "0x17DCEA0", VA = "0x1817DE4A0")]
set
{
if (this.DPKNAEKAHCC != value)
{
if (this.occlusionPortals == (ulong)0L)
{
GameObject gameObject = base.gameObject;
Debug.LogError("Occlusion portals is null!", gameObject);
}
this.DPKNAEKAHCC = value;
if (!value)
{
}
Debug.Log(string.Format("{0} setting portals to {1}", this, "CLOSED"), this);
OcclusionPortal[] array = this.occlusionPortals;
int num = 0;
if (num < array.Length)
{
OcclusionPortal occlusionPortal = array[num];
if (this.occlusionPortals[num].gameObject.activeInHierarchy)
{
}
bool flag = (uint)1 != 0U;
occlusionPortal.open = flag;
OcclusionPortal[] array2 = this.occlusionPortals;
num++;
}
}
}
}
// Token: 0x06002E03 RID: 11779 RVA: 0x000C0880 File Offset: 0x000BEA80
[Token(Token = "0x6002E03")]
[Address(RVA = "0x17DDE90", Offset = "0x17DC890", VA = "0x1817DDE90")]
private void Awake()
{
this.ICECPIKHHIJ = true;
OcclusionPortal[] array = this.occlusionPortals;
Func<OcclusionPortal, bool> <>9__7_ = OcclusionVolume.<>c.<>9__7_0;
if (<>9__7_ == 0)
{
OcclusionVolume.<>c.<>9__7_0 = delegate(OcclusionPortal _)
{
int num = 0;
return _ != num;
};
}
OcclusionPortal[] array2 = Enumerable.ToArray<OcclusionPortal>(Enumerable.Where<OcclusionPortal>(array, <>9__7_));
this.occlusionPortals = array2;
SimpleVolume[] array3 = this.volumes;
Func<SimpleVolume, bool> func;
if (OcclusionVolume.<>c.<>9__7_1 == 0)
{
func = delegate(SimpleVolume _)
{
int num2 = 0;
return _ != num2;
};
OcclusionVolume.<>c.<>9__7_1 = func;
}
SimpleVolume[] array4 = Enumerable.ToArray<SimpleVolume>(Enumerable.Where<SimpleVolume>(array3, func));
this.volumes = array4;
Action<float> action = new Action(this.GNIHDDGMOEB);
IDisposable disposable = ScheduledUpdateMonoBehaviourExtensions.Update1hz(this, action);
}
// Token: 0x06002E04 RID: 11780 RVA: 0x000C0928 File Offset: 0x000BEB28
[Token(Token = "0x6002E04")]
[Address(RVA = "0x17DE170", Offset = "0x17DCB70", VA = "0x1817DE170")]
private void GNIHDDGMOEB(float POGAEJIEPIM)
{
bool flag = !this.JLIGNLPLDEO();
this.ICECPIKHHIJ = flag;
}
// Token: 0x06002E05 RID: 11781 RVA: 0x000C0948 File Offset: 0x000BEB48
[Token(Token = "0x6002E05")]
[Address(RVA = "0x17DE240", Offset = "0x17DCC40", VA = "0x1817DE240")]
private bool JLIGNLPLDEO()
{
Transform transform = Player.<EGKJPJKLEAI>k__BackingField.head.transform;
int num = 0;
Vector3 vector;
float z = vector.z;
SimpleVolume[] array = this.volumes;
if (num < array.Length)
{
if (array[num].DOMABBDEAKJ == 0)
{
SimpleVolume[] array2 = this.volumes;
num++;
}
return true;
}
throw new NullReferenceException();
}
// Token: 0x06002E06 RID: 11782 RVA: 0x000C09AC File Offset: 0x000BEBAC
[Token(Token = "0x6002E06")]
[Address(RVA = "0x17DE0A0", Offset = "0x17DCAA0", VA = "0x1817DE0A0")]
private bool CEHEAPCPBLG(Vector3 KPLDEODOJID)
{
SimpleVolume[] array = this.volumes;
int num = 0;
if (num < array.Length)
{
SimpleVolume simpleVolume = array[num];
float z = KPLDEODOJID.z;
if (simpleVolume.DOMABBDEAKJ == 0)
{
SimpleVolume[] array2 = this.volumes;
num++;
}
return true;
}
throw new NullReferenceException();
}
// Token: 0x06002E07 RID: 11783 RVA: 0x000C09FC File Offset: 0x000BEBFC
[Token(Token = "0x6002E07")]
[Address(RVA = "0x17DE440", Offset = "0x17DCE40", VA = "0x1817DE440")]
public OcclusionVolume()
{
OcclusionPortal[] array = new OcclusionPortal[0];
this.occlusionPortals = array;
SimpleVolume[] array2 = new SimpleVolume[0];
this.volumes = array2;
base..ctor();
}
// Token: 0x06002E08 RID: 11784 RVA: 0x0000220F File Offset: 0x0000040F
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6002E08")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60")]
static OcclusionVolume()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002717 RID: 10007
[Token(Token = "0x4002717")]
public static bool ForceOpen;
// Token: 0x04002718 RID: 10008
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002718")]
private bool DPKNAEKAHCC;
// Token: 0x04002719 RID: 10009
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002719")]
[SerializeField]
private OcclusionPortal[] occlusionPortals;
// Token: 0x0400271A RID: 10010
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400271A")]
[SerializeField]
private SimpleVolume[] volumes;
}