using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using Unity.Collections; using Unity.Jobs; using UnityEngine; namespace ClusterLOD { // Token: 0x0200128F RID: 4751 [Token(Token = "0x200128F")] public class CreateMeshFromClusterJob : IDisposable { // Token: 0x1700116B RID: 4459 // (get) Token: 0x06006BCB RID: 27595 RVA: 0x0000220F File Offset: 0x0000040F // (set) Token: 0x06006BCC RID: 27596 RVA: 0x0017EA48 File Offset: 0x0017CC48 [Token(Token = "0x1700116B")] public JobHandle jobHandle { [Token(Token = "0x6006BCB")] [Address(RVA = "0x6808B0", Offset = "0x67F6B0", VA = "0x1806808B0")] [CompilerGenerated] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } [Token(Token = "0x6006BCC")] [Address(RVA = "0x687260", Offset = "0x686060", VA = "0x180687260")] [CompilerGenerated] private set { } } // Token: 0x1700116C RID: 4460 // (get) Token: 0x06006BCD RID: 27597 RVA: 0x0017EA58 File Offset: 0x0017CC58 // (set) Token: 0x06006BCE RID: 27598 RVA: 0x0017EA6C File Offset: 0x0017CC6C [Token(Token = "0x1700116C")] public ClusterMesh.ClusterInfo cluster { [Token(Token = "0x6006BCD")] [Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")] get; [Token(Token = "0x6006BCE")] [Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")] private set; } // Token: 0x1700116D RID: 4461 // (get) Token: 0x06006BCF RID: 27599 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x1700116D")] public bool Active { [Token(Token = "0x6006BCF")] [Address(RVA = "0x47C020", Offset = "0x47AE20", VA = "0x18047C020")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06006BD0 RID: 27600 RVA: 0x0017EA80 File Offset: 0x0017CC80 [Token(Token = "0x6006BD0")] [Address(RVA = "0x146CB60", Offset = "0x146B960", VA = "0x18146CB60")] public void Init(ClusterMesh.ClusterInfo clusterInfo, Transform rootTranform) { this.k__BackingField = clusterInfo; ClusterLODConfig.LODSettings near = ClusterLODManager._instance.k__BackingField.near; float maxSubDivideEdgeSize = near.maxSubDivideEdgeSize; int num = 0; if (maxSubDivideEdgeSize <= (float)num) { } float maxSubDivideDistance = near.maxSubDivideDistance; bool useMaterials = near.useMaterials; PCIKHFEIHGO pcikhfeihgo = this.sharedResultMesh; this.resultMesh = pcikhfeihgo; if (pcikhfeihgo.MEBGJGNMIMG) { List components = this.k__BackingField.components; ClusterMesh.ClusterInfo clusterInfo2 = this.k__BackingField; NativeList nativeList = this.occlusion; PCIKHFEIHGO pcikhfeihgo2 = this.resultMesh; OCCMLFOBCEM occmlfobcem = this.optimizationData; ClusterMesh.ClusterInfo clusterInfo3 = this.k__BackingField; OCCMLFOBCEM occmlfobcem2 = this.optimizationData; NativeList nativeList2 = this.occlusion; OCCMLFOBCEM occmlfobcem3 = this.optimizationData; PCIKHFEIHGO pcikhfeihgo3 = this.resultMesh; JobHandle jobHandle = this.k__BackingField; SubdivideMeshData subdivideMeshData = clusterInfo.subdivideMeshData; bool flag; if (!flag) { } bool flag2; if (flag2) { } bool flag3; if (flag3) { } int num2 = 0; subdivideMeshData.origIndices = num2; bool flag4; if (!flag4) { int num3 = 0; int num4 = 0; SubdivideMeshData.vertexMap = num3; SubdivideMeshData.indexRemap = num4; } PCIKHFEIHGO pcikhfeihgo4 = this.resultMesh; SubdivideMeshData subdivideMeshData2 = clusterInfo.subdivideMeshData; JobHandle jobHandle2 = this.k__BackingField; } if (CreateMeshFromClusterJob.SharedAdditionalMesh.MEBGJGNMIMG) { PCIKHFEIHGO sharedAdditionalMesh = CreateMeshFromClusterJob.SharedAdditionalMesh; } PCIKHFEIHGO sharedAdditionalMesh2 = CreateMeshFromClusterJob.SharedAdditionalMesh; PCIKHFEIHGO sharedAdditionalMesh3 = CreateMeshFromClusterJob.SharedAdditionalMesh; float z = ClusterLODManager._instance.k__BackingField.z; Vector3 vector; float z2 = vector.z; float maxSubDivideEdgeSize2 = near.maxSubDivideEdgeSize; float maxSubDivideDistance2 = near.maxSubDivideDistance; JobHandle jobHandle3 = this.k__BackingField; PCIKHFEIHGO pcikhfeihgo5 = this.resultMesh; NativeArray indexRemap = SubdivideMeshData.indexRemap; NativeMultiHashMap vertexMap = SubdivideMeshData.vertexMap; JobHandle jobHandle4 = this.k__BackingField; SubdivideMeshData.vertexMap = jobHandle4; SubdivideMeshData.indexRemap = vertexMap; SubdivideMeshData.refCount = jobHandle4; } // Token: 0x06006BD1 RID: 27601 RVA: 0x0017EC28 File Offset: 0x0017CE28 [Token(Token = "0x6006BD1")] [Address(RVA = "0x146C400", Offset = "0x146B200", VA = "0x18146C400")] public void CreateMesh() { ClusterLODConfig.LODSettings near = ClusterLODManager._instance.k__BackingField.near; float maxSubDivideEdgeSize = near.maxSubDivideEdgeSize; int num = 0; if (maxSubDivideEdgeSize <= (float)num) { } float maxSubDivideDistance = near.maxSubDivideDistance; Mesh mesh = new Mesh(); ulong num2; bool flag = this.resultMesh.KDBPJKOOMGC(mesh, num2 != 0UL); PCIKHFEIHGO pcikhfeihgo = this.resultMesh; PCIKHFEIHGO sharedAdditionalMesh = CreateMeshFromClusterJob.SharedAdditionalMesh; ulong num3; bool flag2 = pcikhfeihgo.NFNAPELMHNM(mesh, sharedAdditionalMesh, num3 != 0UL); ClusterMesh.ClusterInfo clusterInfo = this.k__BackingField; int num4 = this.resultMesh.KHFAJBCGLCL; clusterInfo.numLOD0Verts = num4; ClusterMesh.ClusterInfo clusterInfo2 = this.k__BackingField; Mesh k__BackingField = clusterInfo2.k__BackingField; Mesh k__BackingField = clusterInfo2.k__BackingField; if (k__BackingField != k__BackingField) { OMCHJHPFBDN.KBFLHNONOHF(clusterInfo2.k__BackingField); } clusterInfo2.k__BackingField = mesh; ulong num5; mesh.UploadMeshData(num5 != 0UL); this.k__BackingField.numAdditionalVerts = (int)((ulong)0L); PCIKHFEIHGO sharedAdditionalMesh2 = CreateMeshFromClusterJob.SharedAdditionalMesh; bool flag3; int num6; if (flag3) { num6 = CreateMeshFromClusterJob.SharedAdditionalMesh.KHFAJBCGLCL; } ClusterLODManager instance = ClusterLODManager._instance; int numAdditionalVerts = this.k__BackingField.numAdditionalVerts; num6 -= numAdditionalVerts; this.k__BackingField.numAdditionalVerts = num6; if (SingletonMonoBehaviour.ONCPNMDGGKG.SystemMemorySizeMB() == 0) { } object[] array = new object[5]; throw new ArrayTypeMismatchException(); } // Token: 0x06006BD2 RID: 27602 RVA: 0x0017EE48 File Offset: 0x0017D048 [Token(Token = "0x6006BD2")] [Address(RVA = "0x146CAC0", Offset = "0x146B8C0", VA = "0x18146CAC0", Slot = "4")] public void Dispose() { JobHandle jobHandle = this.k__BackingField; this.sharedResultMesh.Dispose(); this.optimizationData.Dispose(); bool flag; if (flag) { } } // Token: 0x06006BD3 RID: 27603 RVA: 0x0017EE7C File Offset: 0x0017D07C [Token(Token = "0x6006BD3")] [Address(RVA = "0x146C3D0", Offset = "0x146B1D0", VA = "0x18146C3D0")] public void Clear() { JobHandle jobHandle = this.k__BackingField; this.k__BackingField = (ulong)0L; } // Token: 0x06006BD4 RID: 27604 RVA: 0x0017EE9C File Offset: 0x0017D09C [Token(Token = "0x6006BD4")] [Address(RVA = "0x146D610", Offset = "0x146C410", VA = "0x18146D610")] public CreateMeshFromClusterJob() { PCIKHFEIHGO pcikhfeihgo = new PCIKHFEIHGO(); this.sharedResultMesh = pcikhfeihgo; OCCMLFOBCEM occmlfobcem = new OCCMLFOBCEM(); this.optimizationData = occmlfobcem; base..ctor(); } // Token: 0x04004834 RID: 18484 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4004834")] private PCIKHFEIHGO sharedResultMesh; // Token: 0x04004835 RID: 18485 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4004835")] private PCIKHFEIHGO resultMesh; // Token: 0x04004836 RID: 18486 [Token(Token = "0x4004836")] public static readonly PCIKHFEIHGO SharedAdditionalMesh = new PCIKHFEIHGO(); // Token: 0x04004837 RID: 18487 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4004837")] private OCCMLFOBCEM optimizationData; // Token: 0x04004838 RID: 18488 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4004838")] private NativeList occlusion; } }