Files
2026-06-04 11:42:34 +02:00

405 lines
9.7 KiB
C#

using System;
using System.Runtime.InteropServices;
using UnityEngine;
// Token: 0x02000974 RID: 2420
[AddComponentMenu("Ultimate Game Tools/Colliders/Concave Collider")]
[ExecuteInEditMode]
public class ConcaveCollider : MonoBehaviour
{
// Token: 0x0601233B RID: 74555 RVA: 0x00539FA4 File Offset: 0x005381A4
private void CDBOLMBCEIE()
{
this.DestroyHulls();
}
// Token: 0x0601233C RID: 74556 RVA: 0x00539FAC File Offset: 0x005381AC
public void DestroyHulls()
{
this.LargestHullVertices = 0;
this.LargestHullFaces = 0;
if (this.m_aGoHulls == null)
{
return;
}
if (Application.isEditor && !Application.isPlaying)
{
foreach (GameObject gameObject in this.m_aGoHulls)
{
if (gameObject)
{
global::UnityEngine.Object.DestroyImmediate(gameObject);
}
}
}
else
{
foreach (GameObject gameObject2 in this.m_aGoHulls)
{
if (gameObject2)
{
global::UnityEngine.Object.Destroy(gameObject2);
}
}
}
this.m_aGoHulls = null;
}
// Token: 0x0601233D RID: 74557 RVA: 0x0053A05C File Offset: 0x0053825C
public int JJPEOOFKKCO()
{
return this.LargestHullVertices;
}
// Token: 0x0601233E RID: 74558
[DllImport("ConvexDecompositionDll", EntryPoint = "DllClose")]
private static extern void DFNHJELNEPE();
// Token: 0x0601233F RID: 74559 RVA: 0x0053A064 File Offset: 0x00538264
public int NCKBDGLEJLA()
{
return this.LargestHullVertices;
}
// Token: 0x06012340 RID: 74560 RVA: 0x0053A06C File Offset: 0x0053826C
private void PBCNFAEFEEO()
{
if (this.PhysMaterial != this.LastMaterial)
{
GameObject[] aGoHulls = this.m_aGoHulls;
for (int i = 1; i < aGoHulls.Length; i++)
{
GameObject gameObject = aGoHulls[i];
if (gameObject)
{
Collider component = gameObject.GetComponent<Collider>();
if (component)
{
component.material = this.PhysMaterial;
this.LastMaterial = this.PhysMaterial;
}
}
}
}
if (this.IsTrigger != this.LastIsTrigger)
{
GameObject[] aGoHulls2 = this.m_aGoHulls;
for (int j = 0; j < aGoHulls2.Length; j += 0)
{
GameObject gameObject2 = aGoHulls2[j];
if (gameObject2)
{
Collider component2 = gameObject2.GetComponent<Collider>();
if (component2)
{
component2.isTrigger = this.IsTrigger;
this.LastIsTrigger = this.IsTrigger;
}
}
}
}
}
// Token: 0x06012341 RID: 74561 RVA: 0x0053A158 File Offset: 0x00538358
private void LHCJJCKJJBD()
{
this.DestroyHulls();
}
// Token: 0x06012342 RID: 74562 RVA: 0x0053A160 File Offset: 0x00538360
private void JDALJLMIIPK()
{
this.DestroyHulls();
}
// Token: 0x06012343 RID: 74563 RVA: 0x0053A168 File Offset: 0x00538368
private void FKGKJOHOGMP()
{
this.DestroyHulls();
}
// Token: 0x06012344 RID: 74564
[DllImport("ConvexDecompositionDll", EntryPoint = "FillHullMeshData")]
private static extern bool PJMIEEPIPBJ(uint AJNABBPACPI, ref float LBECNHIFFII, int[] OMJJNCNMGNO, Vector3[] HCPLKAALICF);
// Token: 0x06012345 RID: 74565
[DllImport("ConvexDecompositionDll", EntryPoint = "DoConvexDecomposition")]
private static extern bool KGJCHNBHEIA(ref ConcaveCollider.KKCNNNNKJCF JMOABHKBKAA, Vector3[] ECJFBMCJKAA, int[] CAJDDCLFPBC);
// Token: 0x06012346 RID: 74566 RVA: 0x0053A170 File Offset: 0x00538370
public int GetLargestHullVertices()
{
return this.LargestHullVertices;
}
// Token: 0x06012347 RID: 74567 RVA: 0x0053A178 File Offset: 0x00538378
public int GetLargestHullFaces()
{
return this.LargestHullFaces;
}
// Token: 0x06012348 RID: 74568 RVA: 0x0053A180 File Offset: 0x00538380
public void MHIJFMJOAGH()
{
ConcaveCollider.FALJBOAOLKK();
}
// Token: 0x06012349 RID: 74569
[DllImport("ConvexDecompositionDll", EntryPoint = "SetLogFunctionPointer")]
private static extern void CLCJPEOGKDD(IntPtr PAMCENJDAMG);
// Token: 0x0601234B RID: 74571 RVA: 0x0053A1E8 File Offset: 0x005383E8
public void CancelComputation()
{
ConcaveCollider.FALJBOAOLKK();
}
// Token: 0x0601234C RID: 74572
[DllImport("ConvexDecompositionDll", EntryPoint = "DllInit")]
private static extern void IPHDGEKOAAF(bool BNBDLKGNANL);
// Token: 0x0601234D RID: 74573 RVA: 0x0053A1F0 File Offset: 0x005383F0
public int EELDIBCJKAN()
{
return this.LargestHullFaces;
}
// Token: 0x0601234E RID: 74574 RVA: 0x0053A1F8 File Offset: 0x005383F8
private void MDGPLNDHKCI()
{
if (this.PhysMaterial != this.LastMaterial)
{
GameObject[] aGoHulls = this.m_aGoHulls;
for (int i = 1; i < aGoHulls.Length; i += 0)
{
GameObject gameObject = aGoHulls[i];
if (gameObject)
{
Collider component = gameObject.GetComponent<Collider>();
if (component)
{
component.material = this.PhysMaterial;
this.LastMaterial = this.PhysMaterial;
}
}
}
}
if (this.IsTrigger != this.LastIsTrigger)
{
foreach (GameObject gameObject2 in this.m_aGoHulls)
{
if (gameObject2)
{
Collider component2 = gameObject2.GetComponent<Collider>();
if (component2)
{
component2.isTrigger = this.IsTrigger;
this.LastIsTrigger = this.IsTrigger;
}
}
}
}
}
// Token: 0x0601234F RID: 74575 RVA: 0x0053A2E4 File Offset: 0x005384E4
private void OnDestroy()
{
this.DestroyHulls();
}
// Token: 0x06012350 RID: 74576 RVA: 0x0053A2EC File Offset: 0x005384EC
private void Update()
{
if (this.PhysMaterial != this.LastMaterial)
{
foreach (GameObject gameObject in this.m_aGoHulls)
{
if (gameObject)
{
Collider component = gameObject.GetComponent<Collider>();
if (component)
{
component.material = this.PhysMaterial;
this.LastMaterial = this.PhysMaterial;
}
}
}
}
if (this.IsTrigger != this.LastIsTrigger)
{
foreach (GameObject gameObject2 in this.m_aGoHulls)
{
if (gameObject2)
{
Collider component2 = gameObject2.GetComponent<Collider>();
if (component2)
{
component2.isTrigger = this.IsTrigger;
this.LastIsTrigger = this.IsTrigger;
}
}
}
}
}
// Token: 0x06012351 RID: 74577 RVA: 0x0053A3D8 File Offset: 0x005385D8
private void Reset()
{
this.DestroyHulls();
}
// Token: 0x06012352 RID: 74578
[DllImport("ConvexDecompositionDll", EntryPoint = "CancelConvexDecomposition")]
private static extern void FALJBOAOLKK();
// Token: 0x06012353 RID: 74579
[DllImport("ConvexDecompositionDll", EntryPoint = "SetProgressFunctionPointer")]
private static extern void KBOIILBHOFD(IntPtr IMGMDFHELDF);
// Token: 0x06012354 RID: 74580 RVA: 0x0053A3E0 File Offset: 0x005385E0
public int LMEAHHLCDNO()
{
return this.LargestHullFaces;
}
// Token: 0x06012355 RID: 74581 RVA: 0x0053A3E8 File Offset: 0x005385E8
public void DDHCHBKCKJP()
{
ConcaveCollider.FALJBOAOLKK();
}
// Token: 0x06012356 RID: 74582
[DllImport("ConvexDecompositionDll", EntryPoint = "GetHullInfo")]
private static extern bool JCOKFKBELDA(uint AJNABBPACPI, ref ConcaveCollider.AKNDGGMOALD LHCGOPCCPOF);
// Token: 0x040032DF RID: 13023
public ConcaveCollider.KECCOAEBGIN Algorithm = ConcaveCollider.KECCOAEBGIN.Fast;
// Token: 0x040032E0 RID: 13024
public int MaxHullVertices = 64;
// Token: 0x040032E1 RID: 13025
public int MaxHulls = 128;
// Token: 0x040032E2 RID: 13026
public float InternalScale = 10f;
// Token: 0x040032E3 RID: 13027
public float Precision = 0.8f;
// Token: 0x040032E4 RID: 13028
public bool CreateMeshAssets;
// Token: 0x040032E5 RID: 13029
public bool CreateHullMesh;
// Token: 0x040032E6 RID: 13030
public bool DebugLog;
// Token: 0x040032E7 RID: 13031
public int LegacyDepth = 6;
// Token: 0x040032E8 RID: 13032
public bool ShowAdvancedOptions;
// Token: 0x040032E9 RID: 13033
public float MinHullVolume = 1E-05f;
// Token: 0x040032EA RID: 13034
public float BackFaceDistanceFactor = 0.2f;
// Token: 0x040032EB RID: 13035
public bool NormalizeInputMesh;
// Token: 0x040032EC RID: 13036
public bool ForceNoMultithreading;
// Token: 0x040032ED RID: 13037
public PhysicMaterial PhysMaterial;
// Token: 0x040032EE RID: 13038
public bool IsTrigger;
// Token: 0x040032EF RID: 13039
public GameObject[] m_aGoHulls;
// Token: 0x040032F0 RID: 13040
[SerializeField]
private PhysicMaterial LastMaterial;
// Token: 0x040032F1 RID: 13041
[SerializeField]
private bool LastIsTrigger;
// Token: 0x040032F2 RID: 13042
[SerializeField]
private int LargestHullVertices;
// Token: 0x040032F3 RID: 13043
[SerializeField]
private int LargestHullFaces;
// Token: 0x02000975 RID: 2421
public enum KECCOAEBGIN
{
// Token: 0x040032F5 RID: 13045
Normal,
// Token: 0x040032F6 RID: 13046
Fast,
// Token: 0x040032F7 RID: 13047
Legacy
}
// Token: 0x02000976 RID: 2422
// (Invoke) Token: 0x06012358 RID: 74584
public delegate void NHIAAFNMNHN([MarshalAs(UnmanagedType.LPStr)] string NFAFJOMABOK);
// Token: 0x02000977 RID: 2423
// (Invoke) Token: 0x0601235C RID: 74588
public delegate void IKNHFBJNHLD([MarshalAs(UnmanagedType.LPStr)] string NFAFJOMABOK, float CILONAMBNMG);
// Token: 0x02000978 RID: 2424
private struct KKCNNNNKJCF
{
// Token: 0x040032F8 RID: 13048
public uint EJEDHHBHIJO;
// Token: 0x040032F9 RID: 13049
public uint AIJGIOIHELD;
// Token: 0x040032FA RID: 13050
public float MOKHONAKHCF;
// Token: 0x040032FB RID: 13051
public float EFMJMPELPHD;
// Token: 0x040032FC RID: 13052
public uint JFFKCGKFFEE;
// Token: 0x040032FD RID: 13053
public uint KKLJPLPLEKB;
// Token: 0x040032FE RID: 13054
public uint BDOKBCIIPPF;
// Token: 0x040032FF RID: 13055
public uint FEEGAFMFJHD;
// Token: 0x04003300 RID: 13056
public uint PPCNPLJEKFG;
// Token: 0x04003301 RID: 13057
public int DBJGFDBKLBI;
}
// Token: 0x02000979 RID: 2425
private struct AKNDGGMOALD
{
// Token: 0x04003302 RID: 13058
public int DJIAMBFOLMO;
// Token: 0x04003303 RID: 13059
public int OFJFBANGKFC;
}
}