Files
2026-04-10 22:50:51 +02:00

251 lines
8.7 KiB
C#

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.<cluster>k__BackingField = clusterInfo;
ClusterLODConfig.LODSettings near = ClusterLODManager._instance.<Config>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<IClusterLODComponent> components = this.<cluster>k__BackingField.components;
ClusterMesh.ClusterInfo clusterInfo2 = this.<cluster>k__BackingField;
NativeList<CJJFNIHNLBD> nativeList = this.occlusion;
PCIKHFEIHGO pcikhfeihgo2 = this.resultMesh;
OCCMLFOBCEM occmlfobcem = this.optimizationData;
ClusterMesh.ClusterInfo clusterInfo3 = this.<cluster>k__BackingField;
OCCMLFOBCEM occmlfobcem2 = this.optimizationData;
NativeList<CJJFNIHNLBD> nativeList2 = this.occlusion;
OCCMLFOBCEM occmlfobcem3 = this.optimizationData;
PCIKHFEIHGO pcikhfeihgo3 = this.resultMesh;
JobHandle jobHandle = this.<jobHandle>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.<jobHandle>k__BackingField;
}
if (CreateMeshFromClusterJob.SharedAdditionalMesh.MEBGJGNMIMG)
{
PCIKHFEIHGO sharedAdditionalMesh = CreateMeshFromClusterJob.SharedAdditionalMesh;
}
PCIKHFEIHGO sharedAdditionalMesh2 = CreateMeshFromClusterJob.SharedAdditionalMesh;
PCIKHFEIHGO sharedAdditionalMesh3 = CreateMeshFromClusterJob.SharedAdditionalMesh;
float z = ClusterLODManager._instance.<EyePos>k__BackingField.z;
Vector3 vector;
float z2 = vector.z;
float maxSubDivideEdgeSize2 = near.maxSubDivideEdgeSize;
float maxSubDivideDistance2 = near.maxSubDivideDistance;
JobHandle jobHandle3 = this.<jobHandle>k__BackingField;
PCIKHFEIHGO pcikhfeihgo5 = this.resultMesh;
NativeArray<int> indexRemap = SubdivideMeshData.indexRemap;
NativeMultiHashMap<int, int> vertexMap = SubdivideMeshData.vertexMap;
JobHandle jobHandle4 = this.<jobHandle>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.<Config>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.<cluster>k__BackingField;
int num4 = this.resultMesh.KHFAJBCGLCL;
clusterInfo.numLOD0Verts = num4;
ClusterMesh.ClusterInfo clusterInfo2 = this.<cluster>k__BackingField;
Mesh <RequestedMesh>k__BackingField = clusterInfo2.<RequestedMesh>k__BackingField;
Mesh <ActiveMesh>k__BackingField = clusterInfo2.<ActiveMesh>k__BackingField;
if (<RequestedMesh>k__BackingField != <ActiveMesh>k__BackingField)
{
OMCHJHPFBDN.KBFLHNONOHF(clusterInfo2.<RequestedMesh>k__BackingField);
}
clusterInfo2.<RequestedMesh>k__BackingField = mesh;
ulong num5;
mesh.UploadMeshData(num5 != 0UL);
this.<cluster>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.<cluster>k__BackingField.numAdditionalVerts;
num6 -= numAdditionalVerts;
this.<cluster>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.<jobHandle>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.<jobHandle>k__BackingField;
this.<cluster>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<CJJFNIHNLBD> occlusion;
}
}