194 lines
6.2 KiB
C#
194 lines
6.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Unity.Collections;
|
|
using Unity.Collections.LowLevel.Unsafe;
|
|
using Unity.Jobs;
|
|
using Unity.Mathematics;
|
|
using UnityEngine;
|
|
|
|
namespace ClusterLOD
|
|
{
|
|
// Token: 0x02000C93 RID: 3219
|
|
[Token(Token = "0x2000C93")]
|
|
[StructLayout(3)]
|
|
public class ClusterMeshUpdateJobData : IDisposable
|
|
{
|
|
// Token: 0x17000D72 RID: 3442
|
|
// (get) Token: 0x06004D7F RID: 19839 RVA: 0x00120BF8 File Offset: 0x0011EDF8
|
|
// (set) Token: 0x06004D80 RID: 19840 RVA: 0x00120C0C File Offset: 0x0011EE0C
|
|
[Token(Token = "0x17000D72")]
|
|
public bool IsActive
|
|
{
|
|
[Token(Token = "0x6004D7F")]
|
|
[Address(RVA = "0x7D79F0", Offset = "0x7D63F0", VA = "0x1807D79F0")]
|
|
get;
|
|
[Token(Token = "0x6004D80")]
|
|
[Address(RVA = "0x7D7B00", Offset = "0x7D6500", VA = "0x1807D7B00")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x06004D81 RID: 19841 RVA: 0x00120C20 File Offset: 0x0011EE20
|
|
[Token(Token = "0x6004D81")]
|
|
[Address(RVA = "0x1B33620", Offset = "0x1B32020", VA = "0x181B33620")]
|
|
public void Init(NativeClusterMesh srcMesh, float scale)
|
|
{
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06004D82 RID: 19842 RVA: 0x00120CBC File Offset: 0x0011EEBC
|
|
[Token(Token = "0x6004D82")]
|
|
[Address(RVA = "0x1B32DE0", Offset = "0x1B317E0", VA = "0x181B32DE0")]
|
|
public void CreateUpdateJob(Transform root, bool dynamicCluster)
|
|
{
|
|
float z = ClusterLODManager._instance.<EyePos>k__BackingField.z;
|
|
Vector3 vector;
|
|
float z2 = vector.z;
|
|
ClusterLODConfig <Config>k__BackingField = ClusterLODManager._instance.<Config>k__BackingField;
|
|
float backfaceCullingThreshold = <Config>k__BackingField.backfaceCullingThreshold;
|
|
float triangleCullingDistFactor = <Config>k__BackingField.triangleCullingDistFactor;
|
|
JobHandle.ScheduleBatchedJobs();
|
|
this.<IsActive>k__BackingField = true;
|
|
}
|
|
|
|
// Token: 0x06004D83 RID: 19843 RVA: 0x00120D14 File Offset: 0x0011EF14
|
|
[Token(Token = "0x6004D83")]
|
|
[Address(RVA = "0x1B33170", Offset = "0x1B31B70", VA = "0x181B33170")]
|
|
private unsafe static void FastCopyArray(NativeArray<int> from, int[] to)
|
|
{
|
|
if (to == 0 || to.Length != 0)
|
|
{
|
|
}
|
|
int num = 0;
|
|
int num2 = UnsafeUtility.SizeOf<int>();
|
|
int num3 = from.m_Length * num2;
|
|
void* ptr;
|
|
UnsafeUtility.MemCpy(num, ptr, (long)num3);
|
|
}
|
|
|
|
// Token: 0x06004D84 RID: 19844 RVA: 0x00120D48 File Offset: 0x0011EF48
|
|
[Token(Token = "0x6004D84")]
|
|
[Address(RVA = "0x1B333D0", Offset = "0x1B31DD0", VA = "0x181B333D0")]
|
|
private static List<int> GetIntList(NativeArray<int> from)
|
|
{
|
|
int[] array = ClusterMeshUpdateJobData.tempIntArray;
|
|
int length = from.m_Length;
|
|
if (array.Length < length)
|
|
{
|
|
ClusterMeshUpdateJobData.tempIntArray = new int[length];
|
|
}
|
|
int[] array2 = ClusterMeshUpdateJobData.tempIntArray;
|
|
if (array2 == 0 || array2.Length != 0)
|
|
{
|
|
}
|
|
int num = UnsafeUtility.SizeOf<int>();
|
|
ClusterMeshUpdateJobData.tempIntList.Clear();
|
|
List<int> list = ClusterMeshUpdateJobData.tempIntList;
|
|
return ClusterMeshUpdateJobData.tempIntList;
|
|
}
|
|
|
|
// Token: 0x06004D85 RID: 19845 RVA: 0x00120DB4 File Offset: 0x0011EFB4
|
|
[Token(Token = "0x6004D85")]
|
|
[Address(RVA = "0x1B33210", Offset = "0x1B31C10", VA = "0x181B33210")]
|
|
public void FinalizeUpdate(ClusterMesh owner, bool setOrigIndices)
|
|
{
|
|
this.<IsActive>k__BackingField = false;
|
|
if (owner != 0)
|
|
{
|
|
Mesh <Mesh>k__BackingField = owner.<Mesh>k__BackingField;
|
|
int num = 0;
|
|
if (!(<Mesh>k__BackingField == num))
|
|
{
|
|
owner.<Mesh>k__BackingField.subMeshCount = 2;
|
|
NativeList<int> nativeList = this.indices;
|
|
Mesh <Mesh>k__BackingField2 = owner.<Mesh>k__BackingField;
|
|
int num2 = 0;
|
|
int num3 = 0;
|
|
List<int> list;
|
|
<Mesh>k__BackingField2.SetTriangles(list, num3, num2 != 0);
|
|
if (setOrigIndices)
|
|
{
|
|
NativeList<int> nativeList2 = this.origIndices;
|
|
Mesh <Mesh>k__BackingField3 = owner.<Mesh>k__BackingField;
|
|
int num4 = 0;
|
|
List<int> list2;
|
|
<Mesh>k__BackingField3.SetTriangles(list2, 1, num4 != 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004D86 RID: 19846 RVA: 0x00120E3C File Offset: 0x0011F03C
|
|
[Token(Token = "0x6004D86")]
|
|
[Address(RVA = "0x1B330A0", Offset = "0x1B31AA0", VA = "0x181B330A0", Slot = "4")]
|
|
public void Dispose()
|
|
{
|
|
throw new MissingMethodException();
|
|
}
|
|
|
|
// Token: 0x06004D87 RID: 19847 RVA: 0x00120E74 File Offset: 0x0011F074
|
|
[Token(Token = "0x6004D87")]
|
|
[Address(RVA = "0x1B32DB0", Offset = "0x1B317B0", VA = "0x181B32DB0")]
|
|
public void Clear()
|
|
{
|
|
this.<IsActive>k__BackingField = false;
|
|
}
|
|
|
|
// Token: 0x06004D88 RID: 19848 RVA: 0x00120E88 File Offset: 0x0011F088
|
|
[Token(Token = "0x6004D88")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public ClusterMeshUpdateJobData()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003986 RID: 14726
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003986")]
|
|
public NativeList<float3> verts;
|
|
|
|
// Token: 0x04003987 RID: 14727
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4003987")]
|
|
public NativeList<int> origIndices;
|
|
|
|
// Token: 0x04003988 RID: 14728
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4003988")]
|
|
public NativeList<int> indices;
|
|
|
|
// Token: 0x04003989 RID: 14729
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4003989")]
|
|
public NativeList<MeshComponentInfo> componentInfo;
|
|
|
|
// Token: 0x0400398A RID: 14730
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400398A")]
|
|
public NativeArray<int> componentLod;
|
|
|
|
// Token: 0x0400398B RID: 14731
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400398B")]
|
|
public NativeArray<float3> triNormals;
|
|
|
|
// Token: 0x0400398C RID: 14732
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400398C")]
|
|
public NativeArray<float> triSizes;
|
|
|
|
// Token: 0x0400398D RID: 14733
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x400398D")]
|
|
public JobHandle jobHandle;
|
|
|
|
// Token: 0x0400398F RID: 14735
|
|
[Token(Token = "0x400398F")]
|
|
private static int[] tempIntArray = new int[1];
|
|
|
|
// Token: 0x04003990 RID: 14736
|
|
[Token(Token = "0x4003990")]
|
|
private static List<int> tempIntList = new List();
|
|
}
|
|
}
|