Beispiel #1
0
    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;
        }
    }
Beispiel #2
0
    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());
    }
Beispiel #3
0
 // --> Protegidos
 protected virtual _Collision DetectCollision(_Collider other)
 {
     Debug.LogWarning("El metodo de detección de colisión no fue sobreescrito.");
     return(null);
 }
Beispiel #4
0
 public void RemoveCollider(_Collider collider)
 {
     colliders.Remove(collider);
 }
Beispiel #5
0
    // ---> Public

    public void AddCollider(_Collider collider)
    {
        colliders.Add(collider);
    }