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: 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;
|
|
}
|
|
}
|