861 lines
30 KiB
C#
861 lines
30 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
namespace MTAssets.UltimateLODSystem
|
|
{
|
|
// Token: 0x020005F6 RID: 1526
|
|
[Token(Token = "0x20005F6")]
|
|
[ExecuteInEditMode]
|
|
[AddComponentMenu("MT Assets/Ultimate LOD System/Ultimate Level Of Detail")]
|
|
public class UltimateLevelOfDetail : MonoBehaviour
|
|
{
|
|
// Token: 0x17000394 RID: 916
|
|
// (get) Token: 0x06002FE6 RID: 12262 RVA: 0x00065D30 File Offset: 0x00063F30
|
|
// (set) Token: 0x06002FE7 RID: 12263 RVA: 0x00065D44 File Offset: 0x00063F44
|
|
[Token(Token = "0x17000394")]
|
|
public Transform customPivotToSimulateLods
|
|
{
|
|
[Token(Token = "0x6002FE6")]
|
|
[Address(RVA = "0x3EFFC0", Offset = "0x3EEDC0", VA = "0x1803EFFC0")]
|
|
get
|
|
{
|
|
return this._customPivotToSimulateLods;
|
|
}
|
|
[Token(Token = "0x6002FE7")]
|
|
[Address(RVA = "0x8C2A20", Offset = "0x8C1820", VA = "0x1808C2A20")]
|
|
set
|
|
{
|
|
int num = 0;
|
|
if (!(value == num))
|
|
{
|
|
Transform transform = base.gameObject.transform;
|
|
if (!value.IsChildOf(transform))
|
|
{
|
|
Debug.LogError("We were unable to define a custom pivot. Make sure that the GameObject that will be the new personalized pivot is the child of the desired ULOD component.");
|
|
return;
|
|
}
|
|
this._customPivotToSimulateLods = value;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002FE8 RID: 12264 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FE8")]
|
|
[Address(RVA = "0x8C24A0", Offset = "0x8C12A0", VA = "0x1808C24A0")]
|
|
private void ValidateAllParameters(bool isGoingToScan)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FE9 RID: 12265 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FE9")]
|
|
[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00")]
|
|
private void CreateHierarchyOfFoldersIfNotExists()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FEA RID: 12266 RVA: 0x00065D8C File Offset: 0x00063F8C
|
|
[Token(Token = "0x6002FEA")]
|
|
[Address(RVA = "0x8C1840", Offset = "0x8C0640", VA = "0x1808C1840")]
|
|
private string SaveGeneratedLodInAssets(string lodNumber, long ticks, Mesh generatedLodMesh)
|
|
{
|
|
return "";
|
|
}
|
|
|
|
// Token: 0x06002FEB RID: 12267 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FEB")]
|
|
[Address(RVA = "0x8C0890", Offset = "0x8BF690", VA = "0x1808C0890")]
|
|
private Mesh GetGeneratedLodForThisMesh(Mesh originalMesh, float percentOfVertices, bool isSkinnedMesh)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FEC RID: 12268 RVA: 0x00065DA0 File Offset: 0x00063FA0
|
|
[Token(Token = "0x6002FEC")]
|
|
[Address(RVA = "0x8C0740", Offset = "0x8BF540", VA = "0x1808C0740")]
|
|
private Material[] GetCopyOfExistentArrayOfMaterials(Material[] sourceArray)
|
|
{
|
|
Material[] array;
|
|
int num;
|
|
int length;
|
|
Material material;
|
|
do
|
|
{
|
|
array = new Material[sourceArray.Length];
|
|
num = 0;
|
|
length = sourceArray.Length;
|
|
if (num >= length)
|
|
{
|
|
return array;
|
|
}
|
|
material = sourceArray[num];
|
|
}
|
|
while (material != 0 && length == 0);
|
|
array[0] = material;
|
|
num++;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06002FED RID: 12269 RVA: 0x00065DEC File Offset: 0x00063FEC
|
|
[Token(Token = "0x6002FED")]
|
|
[Address(RVA = "0x8C1A60", Offset = "0x8C0860", VA = "0x1808C1A60")]
|
|
private void ScanForMeshesAndGenerateAllLodGroups_StartProcessing(bool showProgressBar)
|
|
{
|
|
int num;
|
|
UltimateLevelOfDetail.<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__51 <ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__ = new UltimateLevelOfDetail.<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__51(num);
|
|
num = 0;
|
|
<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__.<>4__this = this;
|
|
Coroutine coroutine = base.StartCoroutine(<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__);
|
|
}
|
|
|
|
// Token: 0x06002FEE RID: 12270 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FEE")]
|
|
[Address(RVA = "0x8C19F0", Offset = "0x8C07F0", VA = "0x1808C19F0")]
|
|
private IEnumerator ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing(bool showProgressBar)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FEF RID: 12271 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FEF")]
|
|
[Address(RVA = "0x8C1EB0", Offset = "0x8C0CB0", VA = "0x1808C1EB0")]
|
|
private void UndoAllMeshesScannedAndAllLodGroups(bool showProgressBar, bool deleteAllGeneratedMeshes, bool runMonoIl2CppGc, bool runUnityGc)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FF0 RID: 12272 RVA: 0x00065E18 File Offset: 0x00064018
|
|
[Token(Token = "0x6002FF0")]
|
|
[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840")]
|
|
private bool isLodsSimulationEnabledInThisSceneForEditorSceneViewMode()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06002FF1 RID: 12273 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FF1")]
|
|
[Address(RVA = "0x2B4CB0", Offset = "0x2B3AB0", VA = "0x1802B4CB0")]
|
|
private Camera GetLastActiveSceneViewCamera()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FF2 RID: 12274 RVA: 0x00065E28 File Offset: 0x00064028
|
|
[Token(Token = "0x6002FF2")]
|
|
[Address(RVA = "0x8C0310", Offset = "0x8BF110", VA = "0x1808C0310")]
|
|
private void CullThisLodMeshOfRenderer(UltimateLevelOfDetail.ScannedMeshItem meshItem)
|
|
{
|
|
UltimateLevelOfDetail.CullingMode cullingMode = this.cullingMode;
|
|
if (cullingMode != UltimateLevelOfDetail.CullingMode.Disabled)
|
|
{
|
|
if (cullingMode == UltimateLevelOfDetail.CullingMode.CullingMeshes)
|
|
{
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer = meshItem.originalSkinnedMeshRenderer;
|
|
int num = 0;
|
|
if (originalSkinnedMeshRenderer != num)
|
|
{
|
|
Mesh sharedMesh = meshItem.originalSkinnedMeshRenderer.sharedMesh;
|
|
int num2 = 0;
|
|
if (sharedMesh != num2)
|
|
{
|
|
Mesh sharedMesh2 = meshItem.originalSkinnedMeshRenderer.sharedMesh;
|
|
meshItem.beforeCullingData_lastMeshOfThis = sharedMesh2;
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer2 = meshItem.originalSkinnedMeshRenderer;
|
|
int num3 = 0;
|
|
originalSkinnedMeshRenderer2.sharedMesh = num3;
|
|
}
|
|
}
|
|
MeshFilter originalMeshFilter = meshItem.originalMeshFilter;
|
|
int num4 = 0;
|
|
if (originalMeshFilter != num4)
|
|
{
|
|
Mesh sharedMesh3 = meshItem.originalMeshFilter.sharedMesh;
|
|
int num5 = 0;
|
|
if (sharedMesh3 != num5)
|
|
{
|
|
Mesh sharedMesh4 = meshItem.originalMeshFilter.sharedMesh;
|
|
meshItem.beforeCullingData_lastMeshOfThis = sharedMesh4;
|
|
MeshFilter originalMeshFilter2 = meshItem.originalMeshFilter;
|
|
int num6 = 0;
|
|
originalMeshFilter2.sharedMesh = num6;
|
|
}
|
|
}
|
|
}
|
|
if (this.cullingMode == UltimateLevelOfDetail.CullingMode.CullingRenderer)
|
|
{
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer3 = meshItem.originalSkinnedMeshRenderer;
|
|
int num7 = 0;
|
|
if (originalSkinnedMeshRenderer3 != num7)
|
|
{
|
|
bool forceRenderingOff = meshItem.originalSkinnedMeshRenderer.forceRenderingOff;
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer4 = meshItem.originalSkinnedMeshRenderer;
|
|
meshItem.beforeCullingData_isForcedToRenderizationOff = forceRenderingOff;
|
|
originalSkinnedMeshRenderer4.forceRenderingOff = true;
|
|
}
|
|
MeshRenderer originalMeshRenderer = meshItem.originalMeshRenderer;
|
|
int num8 = 0;
|
|
if (originalMeshRenderer != num8)
|
|
{
|
|
bool forceRenderingOff2 = meshItem.originalMeshRenderer.forceRenderingOff;
|
|
MeshRenderer originalMeshRenderer2 = meshItem.originalMeshRenderer;
|
|
meshItem.beforeCullingData_isForcedToRenderizationOff = forceRenderingOff2;
|
|
originalMeshRenderer2.forceRenderingOff = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002FF3 RID: 12275 RVA: 0x00065F84 File Offset: 0x00064184
|
|
[Token(Token = "0x6002FF3")]
|
|
[Address(RVA = "0x8C1C70", Offset = "0x8C0A70", VA = "0x1808C1C70")]
|
|
private void UncullThisLodMeshOfRenderer(UltimateLevelOfDetail.ScannedMeshItem meshItem)
|
|
{
|
|
UltimateLevelOfDetail.CullingMode cullingMode = this.cullingMode;
|
|
if (cullingMode != UltimateLevelOfDetail.CullingMode.Disabled)
|
|
{
|
|
if (cullingMode == UltimateLevelOfDetail.CullingMode.CullingMeshes)
|
|
{
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer = meshItem.originalSkinnedMeshRenderer;
|
|
int num = 0;
|
|
if (originalSkinnedMeshRenderer != num)
|
|
{
|
|
Mesh sharedMesh = meshItem.originalSkinnedMeshRenderer.sharedMesh;
|
|
int num2 = 0;
|
|
if (sharedMesh == num2)
|
|
{
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer2 = meshItem.originalSkinnedMeshRenderer;
|
|
Mesh beforeCullingData_lastMeshOfThis = meshItem.beforeCullingData_lastMeshOfThis;
|
|
originalSkinnedMeshRenderer2.sharedMesh = beforeCullingData_lastMeshOfThis;
|
|
}
|
|
}
|
|
MeshFilter originalMeshFilter = meshItem.originalMeshFilter;
|
|
int num3 = 0;
|
|
if (originalMeshFilter != num3)
|
|
{
|
|
Mesh sharedMesh2 = meshItem.originalMeshFilter.sharedMesh;
|
|
int num4 = 0;
|
|
if (sharedMesh2 == num4)
|
|
{
|
|
MeshFilter originalMeshFilter2 = meshItem.originalMeshFilter;
|
|
Mesh beforeCullingData_lastMeshOfThis2 = meshItem.beforeCullingData_lastMeshOfThis;
|
|
originalMeshFilter2.sharedMesh = beforeCullingData_lastMeshOfThis2;
|
|
}
|
|
}
|
|
}
|
|
if (this.cullingMode == UltimateLevelOfDetail.CullingMode.CullingRenderer)
|
|
{
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer3 = meshItem.originalSkinnedMeshRenderer;
|
|
int num5 = 0;
|
|
if (originalSkinnedMeshRenderer3 != num5)
|
|
{
|
|
SkinnedMeshRenderer originalSkinnedMeshRenderer4 = meshItem.originalSkinnedMeshRenderer;
|
|
bool beforeCullingData_isForcedToRenderizationOff = meshItem.beforeCullingData_isForcedToRenderizationOff;
|
|
originalSkinnedMeshRenderer4.forceRenderingOff = beforeCullingData_isForcedToRenderizationOff;
|
|
}
|
|
MeshRenderer originalMeshRenderer = meshItem.originalMeshRenderer;
|
|
int num6 = 0;
|
|
if (originalMeshRenderer != num6)
|
|
{
|
|
MeshRenderer originalMeshRenderer2 = meshItem.originalMeshRenderer;
|
|
bool beforeCullingData_isForcedToRenderizationOff2 = meshItem.beforeCullingData_isForcedToRenderizationOff;
|
|
originalMeshRenderer2.forceRenderingOff = beforeCullingData_isForcedToRenderizationOff2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002FF4 RID: 12276 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FF4")]
|
|
[Address(RVA = "0x8BF280", Offset = "0x8BE080", VA = "0x1808BF280")]
|
|
private void ChangeLodMeshAndMaterialsOfRenderer(UltimateLevelOfDetail.ScannedMeshItem meshItem, int lodLevel)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FF5 RID: 12277 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FF5")]
|
|
[Address(RVA = "0x8BEE60", Offset = "0x8BDC60", VA = "0x1808BEE60")]
|
|
private void CalculateCorrectLodForDistanceBeforeChange(float distance)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FF6 RID: 12278 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FF6")]
|
|
[Address(RVA = "0x8C0F90", Offset = "0x8BFD90", VA = "0x1808C0F90")]
|
|
public void OnRenderObject()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FF7 RID: 12279 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FF7")]
|
|
[Address(RVA = "0x8BEC10", Offset = "0x8BDA10", VA = "0x1808BEC10")]
|
|
public void Awake()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FF8 RID: 12280 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FF8")]
|
|
[Address(RVA = "0x8C0F20", Offset = "0x8BFD20", VA = "0x1808C0F20")]
|
|
private IEnumerator OnRenderObject_HookEmulationForHDRP()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FF9 RID: 12281 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FF9")]
|
|
[Address(RVA = "0x8C0DD0", Offset = "0x8BFBD0", VA = "0x1808C0DD0")]
|
|
public void OnEnable()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FFA RID: 12282 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FFA")]
|
|
[Address(RVA = "0x8C0840", Offset = "0x8BF640", VA = "0x1808C0840")]
|
|
public int GetCurrentLodLevel()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FFB RID: 12283 RVA: 0x000660A8 File Offset: 0x000642A8
|
|
[Token(Token = "0x6002FFB")]
|
|
[Address(RVA = "0x468160", Offset = "0x466F60", VA = "0x180468160")]
|
|
public float GetCurrentCameraDistance()
|
|
{
|
|
return this.currentDistanceFromMainCamera;
|
|
}
|
|
|
|
// Token: 0x06002FFC RID: 12284 RVA: 0x000660BC File Offset: 0x000642BC
|
|
[Token(Token = "0x6002FFC")]
|
|
[Address(RVA = "0x38DB10", Offset = "0x38C910", VA = "0x18038DB10")]
|
|
public float GetCurrentRealCameraDistance()
|
|
{
|
|
return this.currentRealDistanceFromMainCamera;
|
|
}
|
|
|
|
// Token: 0x06002FFD RID: 12285 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FFD")]
|
|
[Address(RVA = "0x8C0D80", Offset = "0x8BFB80", VA = "0x1808C0D80")]
|
|
public int GetNumberOfLodsGenerated()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002FFE RID: 12286 RVA: 0x000660D0 File Offset: 0x000642D0
|
|
[Token(Token = "0x6002FFE")]
|
|
[Address(RVA = "0x8C2A00", Offset = "0x8C1800", VA = "0x1808C2A00")]
|
|
public bool isScannedMeshesCurrentCulled()
|
|
{
|
|
return this.currentLodAccordingToDistance == 9;
|
|
}
|
|
|
|
// Token: 0x06002FFF RID: 12287 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002FFF")]
|
|
[Address(RVA = "0x8C0A70", Offset = "0x8BF870", VA = "0x1808C0A70")]
|
|
public UltimateLevelOfDetailMeshes[] GetListOfAllMeshesScanned()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06003000 RID: 12288 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6003000")]
|
|
[Address(RVA = "0x8C05C0", Offset = "0x8BF3C0", VA = "0x1808C05C0")]
|
|
public void ForceShowLod(bool force, int level)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06003001 RID: 12289 RVA: 0x000660E8 File Offset: 0x000642E8
|
|
[Token(Token = "0x6003001")]
|
|
[Address(RVA = "0x8C2A10", Offset = "0x8C1810", VA = "0x1808C2A10")]
|
|
public bool isThisComponentForcedToShowLod()
|
|
{
|
|
return this.forcedToShowOnlyALodIndependentOfDistance != -1;
|
|
}
|
|
|
|
// Token: 0x06003002 RID: 12290 RVA: 0x00066104 File Offset: 0x00064304
|
|
[Token(Token = "0x6003002")]
|
|
[Address(RVA = "0x4BFCF0", Offset = "0x4BEAF0", VA = "0x1804BFCF0")]
|
|
public void ForceDisableLodChangesInThisComponent(bool force)
|
|
{
|
|
this.forcedToDisableLodsOfThisComponent = force;
|
|
}
|
|
|
|
// Token: 0x06003003 RID: 12291 RVA: 0x00066118 File Offset: 0x00064318
|
|
[Token(Token = "0x6003003")]
|
|
[Address(RVA = "0x4BFCE0", Offset = "0x4BEAE0", VA = "0x1804BFCE0")]
|
|
public bool isThisComponentForcedToDisableLodChanges()
|
|
{
|
|
return this.forcedToDisableLodsOfThisComponent;
|
|
}
|
|
|
|
// Token: 0x06003004 RID: 12292 RVA: 0x0006612C File Offset: 0x0006432C
|
|
[Token(Token = "0x6003004")]
|
|
[Address(RVA = "0x8C06F0", Offset = "0x8BF4F0", VA = "0x1808C06F0")]
|
|
public void ForceThisComponentToUpdateLodsRender()
|
|
{
|
|
float num = UnityEngine.Random.Range(0.1f, 1f);
|
|
this.currentLodAccordingToDistance = (int)((ulong)4294967295L);
|
|
this.lastDistanceFromMainCamera = num;
|
|
this.OnRenderObject();
|
|
}
|
|
|
|
// Token: 0x06003005 RID: 12293 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6003005")]
|
|
[Address(RVA = "0x8C29B0", Offset = "0x8C17B0", VA = "0x1808C29B0")]
|
|
public bool isMeshesCurrentScannedAndLodsWorkingInThisComponent()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06003006 RID: 12294 RVA: 0x00066168 File Offset: 0x00064368
|
|
[Token(Token = "0x6003006")]
|
|
[Address(RVA = "0x8C1870", Offset = "0x8C0670", VA = "0x1808C1870")]
|
|
public void ScanAllMeshesAndGenerateLodsGroups()
|
|
{
|
|
List<UltimateLevelOfDetail.ScannedMeshItem> list = this.currentScannedMeshesList;
|
|
if ((ulong)1L == 0UL)
|
|
{
|
|
List<UltimateLevelOfDetail.ScannedMeshItem> list2 = this.currentScannedMeshesList;
|
|
}
|
|
int num;
|
|
UltimateLevelOfDetail.<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__51 <ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__ = new UltimateLevelOfDetail.<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__51(num);
|
|
num = 0;
|
|
<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__.<>4__this = this;
|
|
Coroutine coroutine = base.StartCoroutine(<ScanForMeshesAndGenerateAllLodGroups_AsyncProcessing>d__);
|
|
}
|
|
|
|
// Token: 0x06003007 RID: 12295 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6003007")]
|
|
[Address(RVA = "0x8C2350", Offset = "0x8C1150", VA = "0x1808C2350")]
|
|
public void UndoCurrentScanWorkingAndDeleteGeneratedMeshes(bool runMonoIl2CppGc, bool runUnityGc)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06003008 RID: 12296 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6003008")]
|
|
[Address(RVA = "0x8C0C00", Offset = "0x8BFA00", VA = "0x1808C0C00")]
|
|
public UltimateLevelOfDetail[] GetListOfAllUlodsInThisScene()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06003009 RID: 12297 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6003009")]
|
|
[Address(RVA = "0x8C0CB0", Offset = "0x8BFAB0", VA = "0x1808C0CB0")]
|
|
public UltimateLevelOfDetailOptimizer[] GetListOfAllUlodsOptimizerInThisScene()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600300A RID: 12298 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600300A")]
|
|
[Address(RVA = "0x8C1AE0", Offset = "0x8C08E0", VA = "0x1808C1AE0")]
|
|
public void SetNewCustomCameraForThisAndAllUlodsInThisScene(Camera newCustomCamera)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600300B RID: 12299 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600300B")]
|
|
[Address(RVA = "0x8BF520", Offset = "0x8BE320", VA = "0x1808BF520")]
|
|
public void ConvertThisToDefaultUnityLods()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600300C RID: 12300 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600300C")]
|
|
[Address(RVA = "0x8C27D0", Offset = "0x8C15D0", VA = "0x1808C27D0")]
|
|
public UltimateLevelOfDetail()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x04003A1D RID: 14877
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4003A1D")]
|
|
private WaitForEndOfFrame WAIT_FOR_END_OF_FRAME;
|
|
|
|
// Token: 0x04003A1E RID: 14878
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4003A1E")]
|
|
private Camera cacheOfMainCamera;
|
|
|
|
// Token: 0x04003A1F RID: 14879
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4003A1F")]
|
|
private GameObject cacheOfUlodData;
|
|
|
|
// Token: 0x04003A20 RID: 14880
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4003A20")]
|
|
private RuntimeInstancesDetector cacheOfUlodDataRuntimeInstancesDetector;
|
|
|
|
// Token: 0x04003A21 RID: 14881
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4003A21")]
|
|
private float lastDistanceFromMainCamera;
|
|
|
|
// Token: 0x04003A22 RID: 14882
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x4003A22")]
|
|
private int currentLodAccordingToDistance;
|
|
|
|
// Token: 0x04003A23 RID: 14883
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4003A23")]
|
|
private float currentDistanceFromMainCamera;
|
|
|
|
// Token: 0x04003A24 RID: 14884
|
|
[FieldOffset(Offset = "0x44")]
|
|
[Token(Token = "0x4003A24")]
|
|
private float currentRealDistanceFromMainCamera;
|
|
|
|
// Token: 0x04003A25 RID: 14885
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4003A25")]
|
|
private bool forcedToDisableLodsOfThisComponent;
|
|
|
|
// Token: 0x04003A26 RID: 14886
|
|
[FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x4003A26")]
|
|
private int forcedToShowOnlyALodIndependentOfDistance;
|
|
|
|
// Token: 0x04003A27 RID: 14887
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4003A27")]
|
|
[HideInInspector]
|
|
public List<UltimateLevelOfDetail.ScannedMeshItem> currentScannedMeshesList;
|
|
|
|
// Token: 0x04003A28 RID: 14888
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4003A28")]
|
|
[HideInInspector]
|
|
public UltimateLevelOfDetail.ScanMeshesMode modeOfMeshesScanning;
|
|
|
|
// Token: 0x04003A29 RID: 14889
|
|
[FieldOffset(Offset = "0x5C")]
|
|
[Token(Token = "0x4003A29")]
|
|
[HideInInspector]
|
|
public bool scanInactiveGameObjects;
|
|
|
|
// Token: 0x04003A2A RID: 14890
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4003A2A")]
|
|
[HideInInspector]
|
|
public List<GameObject> gameObjectsToIgnore;
|
|
|
|
// Token: 0x04003A2B RID: 14891
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4003A2B")]
|
|
[HideInInspector]
|
|
public int levelsOfDetailToGenerate;
|
|
|
|
// Token: 0x04003A2C RID: 14892
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4003A2C")]
|
|
[HideInInspector]
|
|
public float[] percentOfVerticesForEachLod;
|
|
|
|
// Token: 0x04003A2D RID: 14893
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x4003A2D")]
|
|
[HideInInspector]
|
|
public bool saveGeneratedLodsInAssets;
|
|
|
|
// Token: 0x04003A2E RID: 14894
|
|
[FieldOffset(Offset = "0x79")]
|
|
[Token(Token = "0x4003A2E")]
|
|
[HideInInspector]
|
|
public bool skinnedAnimsCompatibilityMode;
|
|
|
|
// Token: 0x04003A2F RID: 14895
|
|
[FieldOffset(Offset = "0x7A")]
|
|
[Token(Token = "0x4003A2F")]
|
|
[HideInInspector]
|
|
public bool preventArtifacts;
|
|
|
|
// Token: 0x04003A30 RID: 14896
|
|
[FieldOffset(Offset = "0x7B")]
|
|
[Token(Token = "0x4003A30")]
|
|
[HideInInspector]
|
|
public bool optimizeResultingMeshes;
|
|
|
|
// Token: 0x04003A31 RID: 14897
|
|
[FieldOffset(Offset = "0x7C")]
|
|
[Token(Token = "0x4003A31")]
|
|
[HideInInspector]
|
|
public bool enableLightmapsSupport;
|
|
|
|
// Token: 0x04003A32 RID: 14898
|
|
[FieldOffset(Offset = "0x7D")]
|
|
[Token(Token = "0x4003A32")]
|
|
[HideInInspector]
|
|
public bool enableMaterialsChanges;
|
|
|
|
// Token: 0x04003A33 RID: 14899
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x4003A33")]
|
|
[HideInInspector]
|
|
public UltimateLevelOfDetail.ForceOfSimplification forceOfSimplification;
|
|
|
|
// Token: 0x04003A34 RID: 14900
|
|
[FieldOffset(Offset = "0x84")]
|
|
[Token(Token = "0x4003A34")]
|
|
[HideInInspector]
|
|
public UltimateLevelOfDetail.CullingMode cullingMode;
|
|
|
|
// Token: 0x04003A35 RID: 14901
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x4003A35")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
private Transform _customPivotToSimulateLods;
|
|
|
|
// Token: 0x04003A36 RID: 14902
|
|
[FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4003A36")]
|
|
[HideInInspector]
|
|
public UltimateLevelOfDetail.CameraDetectionMode cameraDetectionMode;
|
|
|
|
// Token: 0x04003A37 RID: 14903
|
|
[FieldOffset(Offset = "0x94")]
|
|
[Token(Token = "0x4003A37")]
|
|
[HideInInspector]
|
|
public bool useCacheForMainCameraInDetection;
|
|
|
|
// Token: 0x04003A38 RID: 14904
|
|
[FieldOffset(Offset = "0x98")]
|
|
[Token(Token = "0x4003A38")]
|
|
[HideInInspector]
|
|
public Camera customCameraForSimulationOfLods;
|
|
|
|
// Token: 0x04003A39 RID: 14905
|
|
[FieldOffset(Offset = "0xA0")]
|
|
[Token(Token = "0x4003A39")]
|
|
[HideInInspector]
|
|
public float[] minDistanceOfViewForEachLod;
|
|
|
|
// Token: 0x04003A3A RID: 14906
|
|
[FieldOffset(Offset = "0xA8")]
|
|
[Token(Token = "0x4003A3A")]
|
|
[HideInInspector]
|
|
public float minDistanceOfViewForCull;
|
|
|
|
// Token: 0x04003A3B RID: 14907
|
|
[FieldOffset(Offset = "0xB0")]
|
|
[Token(Token = "0x4003A3B")]
|
|
public UnityEvent onDoneScan;
|
|
|
|
// Token: 0x04003A3C RID: 14908
|
|
[FieldOffset(Offset = "0xB8")]
|
|
[Token(Token = "0x4003A3C")]
|
|
public UnityEvent onUndoScan;
|
|
|
|
// Token: 0x04003A3D RID: 14909
|
|
[FieldOffset(Offset = "0xC0")]
|
|
[Token(Token = "0x4003A3D")]
|
|
[HideInInspector]
|
|
public bool forceChangeLodsOfSkinnedInEditor;
|
|
|
|
// Token: 0x04003A3E RID: 14910
|
|
[FieldOffset(Offset = "0xC1")]
|
|
[Token(Token = "0x4003A3E")]
|
|
[HideInInspector]
|
|
public bool drawGizmoOnThisPivot;
|
|
|
|
// Token: 0x04003A3F RID: 14911
|
|
[FieldOffset(Offset = "0xC4")]
|
|
[Token(Token = "0x4003A3F")]
|
|
[HideInInspector]
|
|
public Color colorOfGizmo;
|
|
|
|
// Token: 0x04003A40 RID: 14912
|
|
[FieldOffset(Offset = "0xD4")]
|
|
[Token(Token = "0x4003A40")]
|
|
[HideInInspector]
|
|
public float sizeOfGizmo;
|
|
|
|
// Token: 0x04003A41 RID: 14913
|
|
[FieldOffset(Offset = "0xD8")]
|
|
[Token(Token = "0x4003A41")]
|
|
[HideInInspector]
|
|
public bool forceShowHiddenSettings;
|
|
|
|
// Token: 0x020005F7 RID: 1527
|
|
[Token(Token = "0x20005F7")]
|
|
public enum ScanMeshesMode
|
|
{
|
|
// Token: 0x04003A43 RID: 14915
|
|
[Token(Token = "0x4003A43")]
|
|
ScanInChildrenGameObjectsOnly,
|
|
// Token: 0x04003A44 RID: 14916
|
|
[Token(Token = "0x4003A44")]
|
|
ScanInThisGameObjectOnly
|
|
}
|
|
|
|
// Token: 0x020005F8 RID: 1528
|
|
[Token(Token = "0x20005F8")]
|
|
public enum ForceOfSimplification
|
|
{
|
|
// Token: 0x04003A46 RID: 14918
|
|
[Token(Token = "0x4003A46")]
|
|
Normal,
|
|
// Token: 0x04003A47 RID: 14919
|
|
[Token(Token = "0x4003A47")]
|
|
Strong,
|
|
// Token: 0x04003A48 RID: 14920
|
|
[Token(Token = "0x4003A48")]
|
|
VeryStrong,
|
|
// Token: 0x04003A49 RID: 14921
|
|
[Token(Token = "0x4003A49")]
|
|
ExtremelyStrong,
|
|
// Token: 0x04003A4A RID: 14922
|
|
[Token(Token = "0x4003A4A")]
|
|
Destroyer
|
|
}
|
|
|
|
// Token: 0x020005F9 RID: 1529
|
|
[Token(Token = "0x20005F9")]
|
|
public enum CullingMode
|
|
{
|
|
// Token: 0x04003A4C RID: 14924
|
|
[Token(Token = "0x4003A4C")]
|
|
Disabled,
|
|
// Token: 0x04003A4D RID: 14925
|
|
[Token(Token = "0x4003A4D")]
|
|
CullingMeshes,
|
|
// Token: 0x04003A4E RID: 14926
|
|
[Token(Token = "0x4003A4E")]
|
|
CullingRenderer
|
|
}
|
|
|
|
// Token: 0x020005FA RID: 1530
|
|
[Token(Token = "0x20005FA")]
|
|
public enum CameraDetectionMode
|
|
{
|
|
// Token: 0x04003A50 RID: 14928
|
|
[Token(Token = "0x4003A50")]
|
|
CurrentCamera,
|
|
// Token: 0x04003A51 RID: 14929
|
|
[Token(Token = "0x4003A51")]
|
|
MainCamera,
|
|
// Token: 0x04003A52 RID: 14930
|
|
[Token(Token = "0x4003A52")]
|
|
CustomCamera
|
|
}
|
|
|
|
// Token: 0x020005FB RID: 1531
|
|
[Token(Token = "0x20005FB")]
|
|
[Serializable]
|
|
public class ScannedMeshItem
|
|
{
|
|
// Token: 0x0600300D RID: 12301 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600300D")]
|
|
[Address(RVA = "0x132EB60", Offset = "0x132D960", VA = "0x18132EB60")]
|
|
public void InitializeAllMeshLodsMaterialsArray()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600300E RID: 12302 RVA: 0x000661CC File Offset: 0x000643CC
|
|
[Token(Token = "0x600300E")]
|
|
[Address(RVA = "0x132ECB0", Offset = "0x132DAB0", VA = "0x18132ECB0")]
|
|
public ScannedMeshItem()
|
|
{
|
|
Mesh[] array = new Mesh[9];
|
|
this.allMeshLods = array;
|
|
string[] array2 = new string[9];
|
|
this.allMeshLodsPaths = array2;
|
|
UltimateLevelOfDetail.ScannedMeshItem.MeshMaterials[] array3 = new UltimateLevelOfDetail.ScannedMeshItem.MeshMaterials[9];
|
|
this.allMeshLodsMaterials = array3;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04003A53 RID: 14931
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003A53")]
|
|
public GameObject originalGameObject;
|
|
|
|
// Token: 0x04003A54 RID: 14932
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4003A54")]
|
|
public SkinnedMeshRenderer originalSkinnedMeshRenderer;
|
|
|
|
// Token: 0x04003A55 RID: 14933
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4003A55")]
|
|
public MeshFilter originalMeshFilter;
|
|
|
|
// Token: 0x04003A56 RID: 14934
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4003A56")]
|
|
public MeshRenderer originalMeshRenderer;
|
|
|
|
// Token: 0x04003A57 RID: 14935
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4003A57")]
|
|
public Mesh[] allMeshLods;
|
|
|
|
// Token: 0x04003A58 RID: 14936
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4003A58")]
|
|
public string[] allMeshLodsPaths;
|
|
|
|
// Token: 0x04003A59 RID: 14937
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4003A59")]
|
|
public bool canChangeMaterialsOnThisMeshLods;
|
|
|
|
// Token: 0x04003A5A RID: 14938
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4003A5A")]
|
|
public UltimateLevelOfDetail.ScannedMeshItem.MeshMaterials[] allMeshLodsMaterials;
|
|
|
|
// Token: 0x04003A5B RID: 14939
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4003A5B")]
|
|
public UltimateLevelOfDetailMeshes originalMeshLodsManager;
|
|
|
|
// Token: 0x04003A5C RID: 14940
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4003A5C")]
|
|
public Mesh beforeCullingData_lastMeshOfThis;
|
|
|
|
// Token: 0x04003A5D RID: 14941
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4003A5D")]
|
|
public bool beforeCullingData_isForcedToRenderizationOff;
|
|
|
|
// Token: 0x020005FC RID: 1532
|
|
[Token(Token = "0x20005FC")]
|
|
[Serializable]
|
|
public class MeshMaterials
|
|
{
|
|
// Token: 0x0600300F RID: 12303 RVA: 0x0003883F File Offset: 0x00036A3F
|
|
[Token(Token = "0x600300F")]
|
|
[Address(RVA = "0x132D280", Offset = "0x132C080", VA = "0x18132D280")]
|
|
public MeshMaterials()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003A5E RID: 14942
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003A5E")]
|
|
public Material[] materialArray;
|
|
}
|
|
}
|
|
}
|
|
}
|