public _Collision(Vector3 collisionPoint, float collisionRange, Vector3 normalUnit, _Collider other) { this.collisionPoint = collisionPoint; this.collisionRange = collisionRange; this.normalUnit = normalUnit; collider = other; gameObject = other.gameObject; transform = other.transform; rigidbody = other.GetComponent <_Rigidbody>(); if (rigidbody != null && !rigidbody.enabled) { rigidbody = null; } }
public _Collider[] getFrontierColliders(_Collider c) { List <_Collider> cols = new List <_Collider>(); foreach (_Collider other in colliders) { if (c.Equals(other)) { continue; } float distance = (c.Transform.position - other.Transform.position).magnitude; if (distance < c.Extent + other.Extent) { cols.Add(other); } } return(cols.ToArray()); }
// --> Protegidos protected virtual _Collision DetectCollision(_Collider other) { Debug.LogWarning("El metodo de detección de colisión no fue sobreescrito."); return(null); }
public void RemoveCollider(_Collider collider) { colliders.Remove(collider); }
// ---> Public public void AddCollider(_Collider collider) { colliders.Add(collider); }