251 lines
8.7 KiB
C#
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;
|
|
}
|
|
}
|