Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +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: 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.<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: 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.<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: 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.<jobHandle>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.<jobHandle>k__BackingField;
this.<cluster>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<CJJFNIHNLBD> occlusion;
}
}