using System; using System.Collections.Generic; using Cpp2IlInjected; using Unity.Collections; using Unity.Jobs; using UnityEngine; namespace ClusterLOD { // Token: 0x0200127D RID: 4733 [Token(Token = "0x200127D")] public class ClusterMesh : IDisposable { // Token: 0x1700115C RID: 4444 // (get) Token: 0x06006B6C RID: 27500 RVA: 0x0017D3B8 File Offset: 0x0017B5B8 // (set) Token: 0x06006B6D RID: 27501 RVA: 0x0017D3CC File Offset: 0x0017B5CC [Token(Token = "0x1700115C")] public Mesh Mesh { [Token(Token = "0x6006B6C")] [Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")] get; [Token(Token = "0x6006B6D")] [Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")] private set; } // Token: 0x1700115D RID: 4445 // (get) Token: 0x06006B6E RID: 27502 RVA: 0x0017D3E0 File Offset: 0x0017B5E0 // (set) Token: 0x06006B6F RID: 27503 RVA: 0x0017D3F4 File Offset: 0x0017B5F4 [Token(Token = "0x1700115D")] public bool Dirty { [Token(Token = "0x6006B6E")] [Address(RVA = "0x4363F0", Offset = "0x4351F0", VA = "0x1804363F0")] get; [Token(Token = "0x6006B6F")] [Address(RVA = "0x4366B0", Offset = "0x4354B0", VA = "0x1804366B0")] private set; } // Token: 0x1700115E RID: 4446 // (get) Token: 0x06006B70 RID: 27504 RVA: 0x0017D408 File Offset: 0x0017B608 [Token(Token = "0x1700115E")] public int MaxNumLOD1Indices { [Token(Token = "0x6006B70")] [Address(RVA = "0x1469770", Offset = "0x1468570", VA = "0x181469770")] get { ClusterMeshUpdateJobData clusterMeshUpdateJobData = this.updateData; int num; return num; } } // Token: 0x06006B71 RID: 27505 RVA: 0x0017D424 File Offset: 0x0017B624 [Token(Token = "0x6006B71")] [Address(RVA = "0x1468620", Offset = "0x1467420", VA = "0x181468620", Slot = "4")] public void Dispose() { int num; do { num = 0; OMCHJHPFBDN.KBFLHNONOHF(this.k__BackingField); this.k__BackingField = num; List clusters = this.Clusters; bool flag; if (flag) { } } while (num != 0); this.Clusters.Clear(); this.updateData.Dispose(); } // Token: 0x06006B72 RID: 27506 RVA: 0x0017D478 File Offset: 0x0017B678 [Token(Token = "0x6006B72")] [Address(RVA = "0x1468FE0", Offset = "0x1467DE0", VA = "0x181468FE0")] public int GetLod(int clusterIdx) { NativeArray componentLod = this.updateData.componentLod; throw new NullReferenceException(); } // Token: 0x06006B73 RID: 27507 RVA: 0x0017D498 File Offset: 0x0017B698 [Token(Token = "0x6006B73")] [Address(RVA = "0x14684D0", Offset = "0x14672D0", VA = "0x1814684D0")] public void AddClusterNode(ClusterNode ownerNode) { ClusterMesh.ClusterInfo clusterInfo = new ClusterMesh.ClusterInfo(); List list = new List(); clusterInfo.components = list; PCIKHFEIHGO pcikhfeihgo = new PCIKHFEIHGO(); clusterInfo.nativeMesh = pcikhfeihgo; SubdivideMeshData subdivideMeshData = new SubdivideMeshData(); clusterInfo.subdivideMeshData = subdivideMeshData; List components = ownerNode.components; clusterInfo.components = components; Bounds bounds = ownerNode.bounds; clusterInfo.bounds = bounds; clusterInfo.requestedLod = (byte)((ulong)1L); this.Clusters.Add(clusterInfo); int num = this.componentCount; int num2 = clusterInfo.components._size; num2 += num; this.componentCount = num2; } // Token: 0x06006B74 RID: 27508 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6006B74")] [Address(RVA = "0x1468910", Offset = "0x1467710", VA = "0x181468910")] public void GenerateLODMesh(Transform rootTransform, bool dynamicCluster) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06006B75 RID: 27509 RVA: 0x0017D534 File Offset: 0x0017B734 [Token(Token = "0x6006B75")] [Address(RVA = "0x1468760", Offset = "0x1467560", VA = "0x181468760")] public bool FinalizeUpdate(bool setOrigIndices) { ClusterMeshUpdateJobData clusterMeshUpdateJobData = this.updateData; if (!clusterMeshUpdateJobData.k__BackingField) { } clusterMeshUpdateJobData.k__BackingField = false; Mesh mesh = this.k__BackingField; int num = 0; if (!(mesh == num)) { this.k__BackingField.subMeshCount = 2; NativeList indices = clusterMeshUpdateJobData.indices; Mesh mesh2 = this.k__BackingField; if (setOrigIndices) { NativeList origIndices = clusterMeshUpdateJobData.origIndices; Mesh mesh3 = this.k__BackingField; } } throw new NullReferenceException(); } // Token: 0x06006B76 RID: 27510 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6006B76")] [Address(RVA = "0x1469290", Offset = "0x1468090", VA = "0x181469290")] public void UpdateMesh(Transform root, bool dynamicCluster) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06006B77 RID: 27511 RVA: 0x0017D5A4 File Offset: 0x0017B7A4 [Token(Token = "0x6006B77")] [Address(RVA = "0x1469010", Offset = "0x1467E10", VA = "0x181469010")] public bool Remove(IClusterLODComponent component) { int num; do { num = 0; List clusters = this.Clusters; bool flag; if (flag) { int num2; while (num2 == -1) { } this.updateData.k__BackingField = false; this.k__BackingField = true; int num3 = this.componentCount; this.componentCount = num3; } } while (num != 0); if (num != -1) { } throw new NullReferenceException(); } // Token: 0x06006B78 RID: 27512 RVA: 0x0017D62C File Offset: 0x0017B82C [Token(Token = "0x6006B78")] [Address(RVA = "0x14696F0", Offset = "0x14684F0", VA = "0x1814696F0")] public ClusterMesh() { List list = new List(); this.Clusters = list; ClusterMeshUpdateJobData clusterMeshUpdateJobData = new ClusterMeshUpdateJobData(); this.updateData = clusterMeshUpdateJobData; base..ctor(); } // Token: 0x040047DA RID: 18394 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40047DA")] public Bounds bounds; // Token: 0x040047DC RID: 18396 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40047DC")] public List Clusters; // Token: 0x040047DD RID: 18397 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40047DD")] public ClusterMeshUpdateJobData updateData; // Token: 0x040047DF RID: 18399 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40047DF")] public ClusterMeshRenderer owner; // Token: 0x040047E0 RID: 18400 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40047E0")] private int componentCount; // Token: 0x0200127E RID: 4734 [Token(Token = "0x200127E")] public class ClusterInfo : IDisposable { // Token: 0x06006B79 RID: 27513 RVA: 0x0017D65C File Offset: 0x0017B85C [Token(Token = "0x6006B79")] [Address(RVA = "0x1461730", Offset = "0x1460530", VA = "0x181461730")] public void GetRequiredCounts(NPBPPKDLKDN lod, out int vertexCount, out int indexCount) { int num; do { num = 0; vertexCount.m_value = num; indexCount.m_value = num; List list = this.components; bool flag; if (flag) { num += num; num++; vertexCount.m_value = (flag ? 1 : 0); uint num2; if (num < (int)num2) { num += num; num++; } indexCount.m_value = num; int num3 = (int)(lod + (int)lod); num++; num += 19; num3 += num3; num += 2; num += 19; } } while (num != 0); } // Token: 0x06006B7A RID: 27514 RVA: 0x0017D6D0 File Offset: 0x0017B8D0 [Token(Token = "0x6006B7A")] [Address(RVA = "0x1460FC0", Offset = "0x145FDC0", VA = "0x181460FC0")] public JobHandle AppendToMesh(NPBPPKDLKDN lod, PCIKHFEIHGO destMesh, int startVertex, int startIndex, Transform rootTransform, OCCMLFOBCEM optimizationData, NativeList occlusion) { int num; do { num = 0; bool flag; if (flag) { num += num; num++; uint num2; if (num < (int)num2) { num += num; num++; } uint num3; if (num < (int)num3) { num += num; num++; } num += num; num++; bool flag2; if (flag2) { } int num4 = 0; JobHandle.ScheduleBatchedJobs(); num4 += num4; num4 += num4; num4 += num4; num4 += num4; } } while (num != 0); throw new NullReferenceException(); } // Token: 0x06006B7B RID: 27515 RVA: 0x0017D750 File Offset: 0x0017B950 [Token(Token = "0x6006B7B")] [Address(RVA = "0x1460CC0", Offset = "0x145FAC0", VA = "0x181460CC0")] public void AppendOcclusionData(NativeList occlusion, Transform rootTransform) { int num; do { num = 0; List list = this.components; bool flag; if (flag) { num += num; num++; int num2 = 0; bool flag2; while (!flag2) { } occlusion.Add(num2); num2 += num2; } } while (num != 0); } // Token: 0x1700115F RID: 4447 // (get) Token: 0x06006B7C RID: 27516 RVA: 0x0017D794 File Offset: 0x0017B994 [Token(Token = "0x1700115F")] public int ComponentCount { [Token(Token = "0x6006B7C")] [Address(RVA = "0x1461B30", Offset = "0x1460930", VA = "0x181461B30")] get { return this.components._size; } } // Token: 0x17001160 RID: 4448 // (get) Token: 0x06006B7D RID: 27517 RVA: 0x0017D7B4 File Offset: 0x0017B9B4 // (set) Token: 0x06006B7E RID: 27518 RVA: 0x0017D7C8 File Offset: 0x0017B9C8 [Token(Token = "0x17001160")] public Mesh RequestedMesh { [Token(Token = "0x6006B7D")] [Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")] get; [Token(Token = "0x6006B7E")] [Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")] private set; } // Token: 0x17001161 RID: 4449 // (get) Token: 0x06006B7F RID: 27519 RVA: 0x0017D7DC File Offset: 0x0017B9DC // (set) Token: 0x06006B80 RID: 27520 RVA: 0x0017D7F0 File Offset: 0x0017B9F0 [Token(Token = "0x17001161")] public Mesh ActiveMesh { [Token(Token = "0x6006B7F")] [Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")] get; [Token(Token = "0x6006B80")] [Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")] set; } // Token: 0x06006B81 RID: 27521 RVA: 0x0017D804 File Offset: 0x0017BA04 [Token(Token = "0x6006B81")] [Address(RVA = "0x1461960", Offset = "0x1460760", VA = "0x181461960")] public void RequestNewMesh(Mesh mesh) { Mesh mesh2 = this.k__BackingField; Mesh mesh3 = this.k__BackingField; if (mesh2 != mesh3) { OMCHJHPFBDN.KBFLHNONOHF(this.k__BackingField); } this.k__BackingField = mesh; } // Token: 0x06006B82 RID: 27522 RVA: 0x0017D83C File Offset: 0x0017BA3C [Token(Token = "0x6006B82")] [Address(RVA = "0x1461A00", Offset = "0x1460800", VA = "0x181461A00")] public void RequestRemoveMesh() { Mesh mesh = this.k__BackingField; Mesh mesh2 = this.k__BackingField; if (mesh != mesh2) { OMCHJHPFBDN.KBFLHNONOHF(this.k__BackingField); } this.k__BackingField = (ulong)0L; } // Token: 0x06006B83 RID: 27523 RVA: 0x0017D878 File Offset: 0x0017BA78 [Token(Token = "0x6006B83")] [Address(RVA = "0x1461660", Offset = "0x1460460", VA = "0x181461660", Slot = "4")] public void Dispose() { Mesh mesh = this.k__BackingField; Mesh mesh2 = this.k__BackingField; if (mesh != mesh2) { OMCHJHPFBDN.KBFLHNONOHF(this.k__BackingField); } OMCHJHPFBDN.KBFLHNONOHF(this.k__BackingField); PCIKHFEIHGO pcikhfeihgo = this.nativeMesh; int num = 0; this.k__BackingField = num; this.k__BackingField = num; pcikhfeihgo.Dispose(); this.subdivideMeshData.Dispose(); } // Token: 0x06006B84 RID: 27524 RVA: 0x0017D8E4 File Offset: 0x0017BAE4 [Token(Token = "0x6006B84")] [Address(RVA = "0x1461A90", Offset = "0x1460890", VA = "0x181461A90")] public ClusterInfo() { List list = new List(); this.components = list; PCIKHFEIHGO pcikhfeihgo = new PCIKHFEIHGO(); this.nativeMesh = pcikhfeihgo; SubdivideMeshData subdivideMeshData = new SubdivideMeshData(); this.subdivideMeshData = subdivideMeshData; base..ctor(); } // Token: 0x040047E1 RID: 18401 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40047E1")] public Bounds bounds; // Token: 0x040047E2 RID: 18402 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40047E2")] public List components; // Token: 0x040047E5 RID: 18405 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40047E5")] public Vector3 closestPos; // Token: 0x040047E6 RID: 18406 [FieldOffset(Offset = "0x4C")] [Token(Token = "0x40047E6")] public float closestDist; // Token: 0x040047E7 RID: 18407 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40047E7")] public byte requestedLod; // Token: 0x040047E8 RID: 18408 [FieldOffset(Offset = "0x54")] [Token(Token = "0x40047E8")] public Vector3 prevUpdatedEyePos; // Token: 0x040047E9 RID: 18409 [FieldOffset(Offset = "0x60")] [Token(Token = "0x40047E9")] public int numLOD0Verts; // Token: 0x040047EA RID: 18410 [FieldOffset(Offset = "0x64")] [Token(Token = "0x40047EA")] public int numLOD1Verts; // Token: 0x040047EB RID: 18411 [FieldOffset(Offset = "0x68")] [Token(Token = "0x40047EB")] public int numAdditionalVerts; // Token: 0x040047EC RID: 18412 [FieldOffset(Offset = "0x70")] [Token(Token = "0x40047EC")] public PCIKHFEIHGO nativeMesh; // Token: 0x040047ED RID: 18413 [FieldOffset(Offset = "0x78")] [Token(Token = "0x40047ED")] public SubdivideMeshData subdivideMeshData; // Token: 0x040047EE RID: 18414 [FieldOffset(Offset = "0x80")] [Token(Token = "0x40047EE")] public Transform root; } } }