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(); 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(); 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(); 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(); 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(); 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(); 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; } }