Exemple #1
0
    public static bool Check(Collider coll1, Collider coll2, bool checkObjectTree = true)

    /*
     *  Check if two objects are touching
     *
     *  If checkObjectTree is true, then check if any object related object
     *  in first param is touching with any object related to
     *  object in second param
     *
     *  Returns true if touching, false otherwise
     */
    {
        if (!checkObjectTree)
        {
            wrapper = AddWrapper(coll1, coll2);
            return(wrapper.touching);
        }
        foreach (Collider c1 in coll1.transform.root.GetComponentsInChildren <Collider> ())
        {
            foreach (Collider c2 in coll2.transform.root.GetComponentsInChildren <Collider> ())
            {
                wrapper = AddWrapper(c1, c2);
                if (wrapper.touching)
                {
                    return(true);
                }
            }
        }
        return(false);
    }
Exemple #2
0
    // Convinience function to add collision wrapper to other object
    static CollisionWrapper AddWrapper(Collider coll1, Collider coll2)
    {
        var wrapper = coll1.gameObject.GetComponent <CollisionWrapper> ();

        if (wrapper == null)
        {
            wrapper = coll1.gameObject.AddComponent <CollisionWrapper> ();
        }
        wrapper.otherCollider = coll2;
        return(wrapper);
    }