a
This commit is contained in:
@@ -0,0 +1,250 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user