236 lines
5.7 KiB
C#
236 lines
5.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x02000F5D RID: 3933
|
|
[RequireComponent(typeof(Collider))]
|
|
public abstract class RecRoomCollider : MonoBehaviour
|
|
{
|
|
// Token: 0x17000F32 RID: 3890
|
|
// (get) Token: 0x06020C43 RID: 134211 RVA: 0x008E9134 File Offset: 0x008E7334
|
|
public float JAAJEOMLCLJ
|
|
{
|
|
get
|
|
{
|
|
return this.kinematicBounciness;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000F33 RID: 3891
|
|
// (get) Token: 0x06020C44 RID: 134212 RVA: 0x008E913C File Offset: 0x008E733C
|
|
public IMJAKCEIGEN HCBJKABCFDI
|
|
{
|
|
get
|
|
{
|
|
return this.impactType;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000F34 RID: 3892
|
|
// (get) Token: 0x06020C45 RID: 134213 RVA: 0x008E9144 File Offset: 0x008E7344
|
|
public ReadOnlyCollection<Collider> AANJEILBGDP
|
|
{
|
|
get
|
|
{
|
|
return this.LGNAOHPEGBC.AsReadOnly();
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000F35 RID: 3893
|
|
// (get) Token: 0x06020C46 RID: 134214 RVA: 0x008E9154 File Offset: 0x008E7354
|
|
public Bounds NMKNMHNEHKC
|
|
{
|
|
get
|
|
{
|
|
Bounds bounds;
|
|
if (this.LGNAOHPEGBC == null || this.LGNAOHPEGBC.Count == 0)
|
|
{
|
|
bounds = default(Bounds);
|
|
}
|
|
else
|
|
{
|
|
bounds = this.LGNAOHPEGBC[0].bounds;
|
|
for (int i = 1; i < this.LGNAOHPEGBC.Count; i++)
|
|
{
|
|
bounds.Encapsulate(this.LGNAOHPEGBC[i].bounds);
|
|
}
|
|
}
|
|
return bounds;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000F36 RID: 3894
|
|
// (get) Token: 0x06020C47 RID: 134215 RVA: 0x008E91D0 File Offset: 0x008E73D0
|
|
// (set) Token: 0x06020C48 RID: 134216 RVA: 0x008E9248 File Offset: 0x008E7448
|
|
public bool GJPHILMECKE
|
|
{
|
|
get
|
|
{
|
|
bool flag = false;
|
|
if (this.LGNAOHPEGBC != null)
|
|
{
|
|
foreach (Collider collider in this.LGNAOHPEGBC)
|
|
{
|
|
if (collider.isTrigger)
|
|
{
|
|
flag = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return flag;
|
|
}
|
|
set
|
|
{
|
|
if (this.LGNAOHPEGBC != null)
|
|
{
|
|
foreach (Collider collider in this.LGNAOHPEGBC)
|
|
{
|
|
collider.isTrigger = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06020C49 RID: 134217 RVA: 0x008E92B0 File Offset: 0x008E74B0
|
|
protected virtual void Awake()
|
|
{
|
|
this.LGNAOHPEGBC.AddRange(base.GetComponents<Collider>());
|
|
}
|
|
|
|
// Token: 0x06020C4A RID: 134218 RVA: 0x008E92C4 File Offset: 0x008E74C4
|
|
protected virtual void OnEnable()
|
|
{
|
|
if (this.LGNAOHPEGBC != null && this.LGNAOHPEGBC.Count > 0)
|
|
{
|
|
foreach (Collider collider in this.LGNAOHPEGBC)
|
|
{
|
|
collider.enabled = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06020C4B RID: 134219 RVA: 0x008E933C File Offset: 0x008E753C
|
|
protected virtual void OnDisable()
|
|
{
|
|
if (this.LGNAOHPEGBC != null && this.LGNAOHPEGBC.Count > 0)
|
|
{
|
|
foreach (Collider collider in this.LGNAOHPEGBC)
|
|
{
|
|
collider.enabled = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06020C4C RID: 134220 RVA: 0x008E93B4 File Offset: 0x008E75B4
|
|
public void IgnoreCollision(RecRoomCollider[] JCIMICOFKDD, bool KIMJICHGKHE)
|
|
{
|
|
foreach (RecRoomCollider recRoomCollider in JCIMICOFKDD)
|
|
{
|
|
this.IgnoreCollision(recRoomCollider.LGNAOHPEGBC, KIMJICHGKHE);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06020C4D RID: 134221 RVA: 0x008E93E8 File Offset: 0x008E75E8
|
|
public void IgnoreCollision(RecRoomCollider LCDHGLHJEMO, bool KIMJICHGKHE)
|
|
{
|
|
this.IgnoreCollision(LCDHGLHJEMO.LGNAOHPEGBC, KIMJICHGKHE);
|
|
}
|
|
|
|
// Token: 0x06020C4E RID: 134222 RVA: 0x008E93F8 File Offset: 0x008E75F8
|
|
public void IgnoreCollision(IEnumerable<Collider> FHIIFNKCIII, bool KIMJICHGKHE)
|
|
{
|
|
if (this.LGNAOHPEGBC != null)
|
|
{
|
|
foreach (Collider collider in this.LGNAOHPEGBC)
|
|
{
|
|
foreach (Collider collider2 in FHIIFNKCIII)
|
|
{
|
|
Physics.IgnoreCollision(collider, collider2, KIMJICHGKHE);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06020C4F RID: 134223 RVA: 0x008E949C File Offset: 0x008E769C
|
|
public void AddCollider(Collider CINAFOGLFIB)
|
|
{
|
|
if (CINAFOGLFIB.gameObject == base.gameObject)
|
|
{
|
|
this.LGNAOHPEGBC.Add(CINAFOGLFIB);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06020C50 RID: 134224 RVA: 0x008E94C0 File Offset: 0x008E76C0
|
|
public virtual Vector3 GetCollisionNormal(Collision PDCJEBJGFNF)
|
|
{
|
|
Vector3 vector = Vector3.zero;
|
|
if (this.ThisRigidbodyEx != null)
|
|
{
|
|
vector = this.ThisRigidbodyEx.IGOFELJMFOF;
|
|
}
|
|
if (vector.sqrMagnitude < Mathf.Epsilon)
|
|
{
|
|
vector = PDCJEBJGFNF.relativeVelocity.normalized;
|
|
}
|
|
else
|
|
{
|
|
vector.Normalize();
|
|
}
|
|
Vector3 vector2 = Vector3.zero;
|
|
if (PDCJEBJGFNF.contacts != null && PDCJEBJGFNF.contacts.Length > 0)
|
|
{
|
|
ContactPoint contactPoint = PDCJEBJGFNF.contacts[0];
|
|
vector2 = contactPoint.normal;
|
|
Vector3 vector3 = -vector2;
|
|
Vector3 vector4 = contactPoint.point - vector3;
|
|
RaycastHit raycastHit;
|
|
if (Physics.Raycast(vector4, vector3, out raycastHit, 2f, 1 << base.gameObject.layer) && Vector3.Dot(raycastHit.normal, vector2) >= 0f)
|
|
{
|
|
vector2 = raycastHit.normal;
|
|
}
|
|
}
|
|
if (vector.sqrMagnitude > Mathf.Epsilon && Vector3.Dot(vector2, vector) < 0.3f)
|
|
{
|
|
vector2 = vector;
|
|
}
|
|
return vector2;
|
|
}
|
|
|
|
// Token: 0x06020C51 RID: 134225 RVA: 0x008E95D8 File Offset: 0x008E77D8
|
|
public bool IsOverlapping(RigidbodyEx MKDJCEPGHNP)
|
|
{
|
|
int num = Physics.OverlapSphereNonAlloc(this.NMKNMHNEHKC.center, this.NMKNMHNEHKC.extents.magnitude, RecRoomCollider.AJDJKDELMKL, 1 << MKDJCEPGHNP.gameObject.layer);
|
|
for (int i = 0; i < num; i++)
|
|
{
|
|
if (RecRoomCollider.AJDJKDELMKL[i].gameObject == MKDJCEPGHNP.gameObject)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x04005536 RID: 21814
|
|
[SerializeField]
|
|
private float kinematicBounciness = 0.6f;
|
|
|
|
// Token: 0x04005537 RID: 21815
|
|
[SerializeField]
|
|
private IMJAKCEIGEN impactType;
|
|
|
|
// Token: 0x04005538 RID: 21816
|
|
[NonSerialized]
|
|
public RigidbodyEx ThisRigidbodyEx;
|
|
|
|
// Token: 0x04005539 RID: 21817
|
|
private const int NCNEKENPBFD = 256;
|
|
|
|
// Token: 0x0400553A RID: 21818
|
|
private static Collider[] AJDJKDELMKL = new Collider[256];
|
|
|
|
// Token: 0x0400553B RID: 21819
|
|
private List<Collider> LGNAOHPEGBC = new List<Collider>();
|
|
}
|