m
This commit is contained in:
@@ -0,0 +1,502 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Cpp2IlInjected;
|
||||
using Unity.Collections;
|
||||
using Unity.Jobs;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ClusterLOD
|
||||
{
|
||||
// Token: 0x0200134D RID: 4941
|
||||
[Token(Token = "0x200134D")]
|
||||
public class ClusterMesh : IDisposable
|
||||
{
|
||||
// Token: 0x170011D8 RID: 4568
|
||||
// (get) Token: 0x06006EDF RID: 28383 RVA: 0x00185934 File Offset: 0x00183B34
|
||||
// (set) Token: 0x06006EE0 RID: 28384 RVA: 0x00185948 File Offset: 0x00183B48
|
||||
[Token(Token = "0x170011D8")]
|
||||
public Mesh Mesh
|
||||
{
|
||||
[Token(Token = "0x6006EDF")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
|
||||
get;
|
||||
[Token(Token = "0x6006EE0")]
|
||||
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
|
||||
private set;
|
||||
}
|
||||
|
||||
// Token: 0x170011D9 RID: 4569
|
||||
// (get) Token: 0x06006EE1 RID: 28385 RVA: 0x0018595C File Offset: 0x00183B5C
|
||||
// (set) Token: 0x06006EE2 RID: 28386 RVA: 0x00185970 File Offset: 0x00183B70
|
||||
[Token(Token = "0x170011D9")]
|
||||
public bool Dirty
|
||||
{
|
||||
[Token(Token = "0x6006EE1")]
|
||||
[Address(RVA = "0x41CF00", Offset = "0x41BF00", VA = "0x18041CF00")]
|
||||
get;
|
||||
[Token(Token = "0x6006EE2")]
|
||||
[Address(RVA = "0x41D000", Offset = "0x41C000", VA = "0x18041D000")]
|
||||
private set;
|
||||
}
|
||||
|
||||
// Token: 0x170011DA RID: 4570
|
||||
// (get) Token: 0x06006EE3 RID: 28387 RVA: 0x00185984 File Offset: 0x00183B84
|
||||
[Token(Token = "0x170011DA")]
|
||||
public int MaxNumLOD1Indices
|
||||
{
|
||||
[Token(Token = "0x6006EE3")]
|
||||
[Address(RVA = "0x1F44BA0", Offset = "0x1F43BA0", VA = "0x181F44BA0")]
|
||||
get
|
||||
{
|
||||
ClusterMeshUpdateJobData clusterMeshUpdateJobData = this.updateData;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06006EE4 RID: 28388 RVA: 0x001859A0 File Offset: 0x00183BA0
|
||||
[Token(Token = "0x6006EE4")]
|
||||
[Address(RVA = "0x1F43A50", Offset = "0x1F42A50", VA = "0x181F43A50", Slot = "4")]
|
||||
public void Dispose()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
OMCHJHPFBDN.KBFLHNONOHF(this.<Mesh>k__BackingField);
|
||||
this.<Mesh>k__BackingField = num;
|
||||
List<ClusterMesh.ClusterInfo> clusters = this.Clusters;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
this.Clusters.Clear();
|
||||
this.updateData.Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x06006EE5 RID: 28389 RVA: 0x001859F4 File Offset: 0x00183BF4
|
||||
[Token(Token = "0x6006EE5")]
|
||||
[Address(RVA = "0x1F44410", Offset = "0x1F43410", VA = "0x181F44410")]
|
||||
public int GetLod(int clusterIdx)
|
||||
{
|
||||
NativeArray<int> componentLod = this.updateData.componentLod;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06006EE6 RID: 28390 RVA: 0x00185A14 File Offset: 0x00183C14
|
||||
[Token(Token = "0x6006EE6")]
|
||||
[Address(RVA = "0x1F43900", Offset = "0x1F42900", VA = "0x181F43900")]
|
||||
public void AddClusterNode(ClusterNode ownerNode)
|
||||
{
|
||||
ClusterMesh.ClusterInfo clusterInfo = new ClusterMesh.ClusterInfo();
|
||||
List<IClusterLODComponent> list = new List();
|
||||
clusterInfo.components = list;
|
||||
PCIKHFEIHGO pcikhfeihgo = new PCIKHFEIHGO();
|
||||
clusterInfo.nativeMesh = pcikhfeihgo;
|
||||
SubdivideMeshData subdivideMeshData = new SubdivideMeshData();
|
||||
clusterInfo.subdivideMeshData = subdivideMeshData;
|
||||
List<IClusterLODComponent> components = ownerNode.components;
|
||||
clusterInfo.components = components;
|
||||
Bounds bounds = ownerNode.bounds;
|
||||
clusterInfo.bounds = bounds;
|
||||
clusterInfo.requestedLod = (byte)((ulong)1L);
|
||||
this.Clusters.Add(clusterInfo);
|
||||
int num = this.componentCount;
|
||||
int num2 = clusterInfo.components._size;
|
||||
num2 += num;
|
||||
this.componentCount = num2;
|
||||
}
|
||||
|
||||
// Token: 0x06006EE7 RID: 28391 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6006EE7")]
|
||||
[Address(RVA = "0x1F43D40", Offset = "0x1F42D40", VA = "0x181F43D40")]
|
||||
public void GenerateLODMesh(Transform rootTransform, bool dynamicCluster)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06006EE8 RID: 28392 RVA: 0x00185AB0 File Offset: 0x00183CB0
|
||||
[Token(Token = "0x6006EE8")]
|
||||
[Address(RVA = "0x1F43B90", Offset = "0x1F42B90", VA = "0x181F43B90")]
|
||||
public bool FinalizeUpdate(bool setOrigIndices)
|
||||
{
|
||||
ClusterMeshUpdateJobData clusterMeshUpdateJobData = this.updateData;
|
||||
if (!clusterMeshUpdateJobData.<IsActive>k__BackingField)
|
||||
{
|
||||
}
|
||||
clusterMeshUpdateJobData.<IsActive>k__BackingField = false;
|
||||
Mesh mesh = this.<Mesh>k__BackingField;
|
||||
int num = 0;
|
||||
if (!(mesh == num))
|
||||
{
|
||||
this.<Mesh>k__BackingField.subMeshCount = 2;
|
||||
NativeList<int> indices = clusterMeshUpdateJobData.indices;
|
||||
Mesh mesh2 = this.<Mesh>k__BackingField;
|
||||
if (setOrigIndices)
|
||||
{
|
||||
NativeList<int> origIndices = clusterMeshUpdateJobData.origIndices;
|
||||
Mesh mesh3 = this.<Mesh>k__BackingField;
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06006EE9 RID: 28393 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6006EE9")]
|
||||
[Address(RVA = "0x1F446C0", Offset = "0x1F436C0", VA = "0x181F446C0")]
|
||||
public void UpdateMesh(Transform root, bool dynamicCluster)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06006EEA RID: 28394 RVA: 0x00185B20 File Offset: 0x00183D20
|
||||
[Token(Token = "0x6006EEA")]
|
||||
[Address(RVA = "0x1F44440", Offset = "0x1F43440", VA = "0x181F44440")]
|
||||
public bool Remove(IClusterLODComponent component)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
List<ClusterMesh.ClusterInfo> clusters = this.Clusters;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
int num2;
|
||||
while (num2 == -1)
|
||||
{
|
||||
}
|
||||
this.updateData.<IsActive>k__BackingField = false;
|
||||
this.<Dirty>k__BackingField = true;
|
||||
int num3 = this.componentCount;
|
||||
this.componentCount = num3;
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06006EEB RID: 28395 RVA: 0x00185BA8 File Offset: 0x00183DA8
|
||||
[Token(Token = "0x6006EEB")]
|
||||
[Address(RVA = "0x1F44B20", Offset = "0x1F43B20", VA = "0x181F44B20")]
|
||||
public ClusterMesh()
|
||||
{
|
||||
List<ClusterMesh.ClusterInfo> list = new List();
|
||||
this.Clusters = list;
|
||||
ClusterMeshUpdateJobData clusterMeshUpdateJobData = new ClusterMeshUpdateJobData();
|
||||
this.updateData = clusterMeshUpdateJobData;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x0400495C RID: 18780
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400495C")]
|
||||
public Bounds bounds;
|
||||
|
||||
// Token: 0x0400495E RID: 18782
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400495E")]
|
||||
public List<ClusterMesh.ClusterInfo> Clusters;
|
||||
|
||||
// Token: 0x0400495F RID: 18783
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400495F")]
|
||||
public ClusterMeshUpdateJobData updateData;
|
||||
|
||||
// Token: 0x04004961 RID: 18785
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4004961")]
|
||||
public ClusterMeshRenderer owner;
|
||||
|
||||
// Token: 0x04004962 RID: 18786
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4004962")]
|
||||
private int componentCount;
|
||||
|
||||
// Token: 0x0200134E RID: 4942
|
||||
[Token(Token = "0x200134E")]
|
||||
public class ClusterInfo : IDisposable
|
||||
{
|
||||
// Token: 0x06006EEC RID: 28396 RVA: 0x00185BD8 File Offset: 0x00183DD8
|
||||
[Token(Token = "0x6006EEC")]
|
||||
[Address(RVA = "0x1F3C820", Offset = "0x1F3B820", VA = "0x181F3C820")]
|
||||
public void GetRequiredCounts(NPBPPKDLKDN lod, out int vertexCount, out int indexCount)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
vertexCount.m_value = num;
|
||||
indexCount.m_value = num;
|
||||
List<IClusterLODComponent> list = this.components;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
vertexCount.m_value = (flag ? 1 : 0);
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
indexCount.m_value = num;
|
||||
int num3 = (int)(lod + (int)lod);
|
||||
num++;
|
||||
num += 19;
|
||||
num3 += num3;
|
||||
num += 2;
|
||||
num += 19;
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x06006EED RID: 28397 RVA: 0x00185C4C File Offset: 0x00183E4C
|
||||
[Token(Token = "0x6006EED")]
|
||||
[Address(RVA = "0x1F3BF70", Offset = "0x1F3AF70", VA = "0x181F3BF70")]
|
||||
public JobHandle AppendToMesh(NPBPPKDLKDN lod, PCIKHFEIHGO destMesh, int startVertex, int startIndex, Transform rootTransform, OCCMLFOBCEM optimizationData, NativeList<CJJFNIHNLBD> occlusion)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
uint num3;
|
||||
if (num < (int)num3)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num += num;
|
||||
num++;
|
||||
bool flag2;
|
||||
if (flag2)
|
||||
{
|
||||
}
|
||||
int num4 = 0;
|
||||
JobHandle.ScheduleBatchedJobs();
|
||||
num4 += num4;
|
||||
num4 += num4;
|
||||
num4 += num4;
|
||||
num4 += num4;
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06006EEE RID: 28398 RVA: 0x00185CCC File Offset: 0x00183ECC
|
||||
[Token(Token = "0x6006EEE")]
|
||||
[Address(RVA = "0x1F3BC70", Offset = "0x1F3AC70", VA = "0x181F3BC70")]
|
||||
public void AppendOcclusionData(NativeList<CJJFNIHNLBD> occlusion, Transform rootTransform)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
List<IClusterLODComponent> list = this.components;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
int num2 = 0;
|
||||
bool flag2;
|
||||
while (!flag2)
|
||||
{
|
||||
}
|
||||
occlusion.Add(num2);
|
||||
num2 += num2;
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x170011DB RID: 4571
|
||||
// (get) Token: 0x06006EEF RID: 28399 RVA: 0x00185D10 File Offset: 0x00183F10
|
||||
[Token(Token = "0x170011DB")]
|
||||
public int ComponentCount
|
||||
{
|
||||
[Token(Token = "0x6006EEF")]
|
||||
[Address(RVA = "0x1F3CC20", Offset = "0x1F3BC20", VA = "0x181F3CC20")]
|
||||
get
|
||||
{
|
||||
return this.components._size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170011DC RID: 4572
|
||||
// (get) Token: 0x06006EF0 RID: 28400 RVA: 0x00185D30 File Offset: 0x00183F30
|
||||
// (set) Token: 0x06006EF1 RID: 28401 RVA: 0x00185D44 File Offset: 0x00183F44
|
||||
[Token(Token = "0x170011DC")]
|
||||
public Mesh RequestedMesh
|
||||
{
|
||||
[Token(Token = "0x6006EF0")]
|
||||
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
|
||||
get;
|
||||
[Token(Token = "0x6006EF1")]
|
||||
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
|
||||
private set;
|
||||
}
|
||||
|
||||
// Token: 0x170011DD RID: 4573
|
||||
// (get) Token: 0x06006EF2 RID: 28402 RVA: 0x00185D58 File Offset: 0x00183F58
|
||||
// (set) Token: 0x06006EF3 RID: 28403 RVA: 0x00185D6C File Offset: 0x00183F6C
|
||||
[Token(Token = "0x170011DD")]
|
||||
public Mesh ActiveMesh
|
||||
{
|
||||
[Token(Token = "0x6006EF2")]
|
||||
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
|
||||
get;
|
||||
[Token(Token = "0x6006EF3")]
|
||||
[Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x06006EF4 RID: 28404 RVA: 0x00185D80 File Offset: 0x00183F80
|
||||
[Token(Token = "0x6006EF4")]
|
||||
[Address(RVA = "0x1F3CA50", Offset = "0x1F3BA50", VA = "0x181F3CA50")]
|
||||
public void RequestNewMesh(Mesh mesh)
|
||||
{
|
||||
Mesh mesh2 = this.<RequestedMesh>k__BackingField;
|
||||
Mesh mesh3 = this.<ActiveMesh>k__BackingField;
|
||||
if (mesh2 != mesh3)
|
||||
{
|
||||
OMCHJHPFBDN.KBFLHNONOHF(this.<RequestedMesh>k__BackingField);
|
||||
}
|
||||
this.<RequestedMesh>k__BackingField = mesh;
|
||||
}
|
||||
|
||||
// Token: 0x06006EF5 RID: 28405 RVA: 0x00185DB8 File Offset: 0x00183FB8
|
||||
[Token(Token = "0x6006EF5")]
|
||||
[Address(RVA = "0x1F3CAF0", Offset = "0x1F3BAF0", VA = "0x181F3CAF0")]
|
||||
public void RequestRemoveMesh()
|
||||
{
|
||||
Mesh mesh = this.<RequestedMesh>k__BackingField;
|
||||
Mesh mesh2 = this.<ActiveMesh>k__BackingField;
|
||||
if (mesh != mesh2)
|
||||
{
|
||||
OMCHJHPFBDN.KBFLHNONOHF(this.<RequestedMesh>k__BackingField);
|
||||
}
|
||||
this.<RequestedMesh>k__BackingField = (ulong)0L;
|
||||
}
|
||||
|
||||
// Token: 0x06006EF6 RID: 28406 RVA: 0x00185DF4 File Offset: 0x00183FF4
|
||||
[Token(Token = "0x6006EF6")]
|
||||
[Address(RVA = "0x1F3C610", Offset = "0x1F3B610", VA = "0x181F3C610", Slot = "4")]
|
||||
public void Dispose()
|
||||
{
|
||||
ClusterLODManager instance = ClusterLODManager._instance;
|
||||
int num = 0;
|
||||
if (instance != num)
|
||||
{
|
||||
ClusterLODManager._instance.ClusterMeshAssetCache.Remove(this);
|
||||
}
|
||||
Mesh mesh = this.<RequestedMesh>k__BackingField;
|
||||
Mesh mesh2 = this.<ActiveMesh>k__BackingField;
|
||||
if (mesh != mesh2)
|
||||
{
|
||||
OMCHJHPFBDN.KBFLHNONOHF(this.<RequestedMesh>k__BackingField);
|
||||
}
|
||||
OMCHJHPFBDN.KBFLHNONOHF(this.<ActiveMesh>k__BackingField);
|
||||
PCIKHFEIHGO pcikhfeihgo = this.nativeMesh;
|
||||
int num2 = 0;
|
||||
this.<RequestedMesh>k__BackingField = num2;
|
||||
this.<ActiveMesh>k__BackingField = num2;
|
||||
pcikhfeihgo.Dispose();
|
||||
this.subdivideMeshData.Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x06006EF7 RID: 28407 RVA: 0x00185E84 File Offset: 0x00184084
|
||||
[Token(Token = "0x6006EF7")]
|
||||
[Address(RVA = "0x1F3CB80", Offset = "0x1F3BB80", VA = "0x181F3CB80")]
|
||||
public ClusterInfo()
|
||||
{
|
||||
List<IClusterLODComponent> list = new List();
|
||||
this.components = list;
|
||||
PCIKHFEIHGO pcikhfeihgo = new PCIKHFEIHGO();
|
||||
this.nativeMesh = pcikhfeihgo;
|
||||
SubdivideMeshData subdivideMeshData = new SubdivideMeshData();
|
||||
this.subdivideMeshData = subdivideMeshData;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x04004963 RID: 18787
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4004963")]
|
||||
public Bounds bounds;
|
||||
|
||||
// Token: 0x04004964 RID: 18788
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4004964")]
|
||||
public List<IClusterLODComponent> components;
|
||||
|
||||
// Token: 0x04004967 RID: 18791
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4004967")]
|
||||
public Vector3 closestPos;
|
||||
|
||||
// Token: 0x04004968 RID: 18792
|
||||
[FieldOffset(Offset = "0x4C")]
|
||||
[Token(Token = "0x4004968")]
|
||||
public float closestDist;
|
||||
|
||||
// Token: 0x04004969 RID: 18793
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4004969")]
|
||||
public byte requestedLod;
|
||||
|
||||
// Token: 0x0400496A RID: 18794
|
||||
[FieldOffset(Offset = "0x54")]
|
||||
[Token(Token = "0x400496A")]
|
||||
public Vector3 prevUpdatedEyePos;
|
||||
|
||||
// Token: 0x0400496B RID: 18795
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400496B")]
|
||||
public int numLOD0Verts;
|
||||
|
||||
// Token: 0x0400496C RID: 18796
|
||||
[FieldOffset(Offset = "0x64")]
|
||||
[Token(Token = "0x400496C")]
|
||||
public int numLOD1Verts;
|
||||
|
||||
// Token: 0x0400496D RID: 18797
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400496D")]
|
||||
public int numAdditionalVerts;
|
||||
|
||||
// Token: 0x0400496E RID: 18798
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400496E")]
|
||||
public PCIKHFEIHGO nativeMesh;
|
||||
|
||||
// Token: 0x0400496F RID: 18799
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x400496F")]
|
||||
public SubdivideMeshData subdivideMeshData;
|
||||
|
||||
// Token: 0x04004970 RID: 18800
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4004970")]
|
||||
public Transform root;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user