using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using Unity.Collections; using Unity.Jobs; using UnityEngine; namespace ClusterLOD { // Token: 0x0200135F RID: 4959 [Token(Token = "0x200135F")] public class CreateMeshFromClusterJob : IDisposable { // Token: 0x170011E7 RID: 4583 // (get) Token: 0x06006F3E RID: 28478 RVA: 0x0000220F File Offset: 0x0000040F // (set) Token: 0x06006F3F RID: 28479 RVA: 0x00186FE8 File Offset: 0x001851E8 [Token(Token = "0x170011E7")] public JobHandle jobHandle { [Token(Token = "0x6006F3E")] [Address(RVA = "0x814AB0", Offset = "0x813AB0", VA = "0x180814AB0")] [CompilerGenerated] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } [Token(Token = "0x6006F3F")] [Address(RVA = "0x814BD0", Offset = "0x813BD0", VA = "0x180814BD0")] [CompilerGenerated] private set { } } // Token: 0x170011E8 RID: 4584 // (get) Token: 0x06006F40 RID: 28480 RVA: 0x00186FF8 File Offset: 0x001851F8 // (set) Token: 0x06006F41 RID: 28481 RVA: 0x0018700C File Offset: 0x0018520C [Token(Token = "0x170011E8")] public ClusterMesh.ClusterInfo cluster { [Token(Token = "0x6006F40")] [Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")] get; [Token(Token = "0x6006F41")] [Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")] private set; } // Token: 0x170011E9 RID: 4585 // (get) Token: 0x06006F42 RID: 28482 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x170011E9")] public bool Active { [Token(Token = "0x6006F42")] [Address(RVA = "0xA4CD20", Offset = "0xA4BD20", VA = "0x180A4CD20")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06006F43 RID: 28483 RVA: 0x00187020 File Offset: 0x00185220 [Token(Token = "0x6006F43")] [Address(RVA = "0x1F47EB0", Offset = "0x1F46EB0", VA = "0x181F47EB0")] 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: 0x06006F44 RID: 28484 RVA: 0x001871C8 File Offset: 0x001853C8 [Token(Token = "0x6006F44")] [Address(RVA = "0x1F47750", Offset = "0x1F46750", VA = "0x181F47750")] 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: 0x06006F45 RID: 28485 RVA: 0x001873E8 File Offset: 0x001855E8 [Token(Token = "0x6006F45")] [Address(RVA = "0x1F47E10", Offset = "0x1F46E10", VA = "0x181F47E10", Slot = "4")] public void Dispose() { JobHandle jobHandle = this.k__BackingField; this.sharedResultMesh.Dispose(); this.optimizationData.Dispose(); bool flag; if (flag) { } } // Token: 0x06006F46 RID: 28486 RVA: 0x0018741C File Offset: 0x0018561C [Token(Token = "0x6006F46")] [Address(RVA = "0x1F47720", Offset = "0x1F46720", VA = "0x181F47720")] public void Clear() { JobHandle jobHandle = this.k__BackingField; this.k__BackingField = (ulong)0L; } // Token: 0x06006F47 RID: 28487 RVA: 0x0018743C File Offset: 0x0018563C [Token(Token = "0x6006F47")] [Address(RVA = "0x1F48960", Offset = "0x1F47960", VA = "0x181F48960")] public CreateMeshFromClusterJob() { PCIKHFEIHGO pcikhfeihgo = new PCIKHFEIHGO(); this.sharedResultMesh = pcikhfeihgo; OCCMLFOBCEM occmlfobcem = new OCCMLFOBCEM(); this.optimizationData = occmlfobcem; base..ctor(); } // Token: 0x040049B6 RID: 18870 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40049B6")] private PCIKHFEIHGO sharedResultMesh; // Token: 0x040049B7 RID: 18871 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40049B7")] private PCIKHFEIHGO resultMesh; // Token: 0x040049B8 RID: 18872 [Token(Token = "0x40049B8")] public static readonly PCIKHFEIHGO SharedAdditionalMesh = new PCIKHFEIHGO(); // Token: 0x040049B9 RID: 18873 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40049B9")] private OCCMLFOBCEM optimizationData; // Token: 0x040049BA RID: 18874 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40049BA")] private NativeList occlusion; } }