Exemple #1
0
    public void CollectColliders()
    {
        // Build collider lists
        Collider[] allcol = (Collider[])FindObjectsOfType(typeof(Collider));

        allcolliders.Clear();
        for (int i = 0; i < allcol.Length; i++)
        {
            MegaScatterCollisionObj cobj = new MegaScatterCollisionObj();
            cobj.collider = allcol[i];
#if UNITY_3_5
            //cobj.active = allcol[i].gameObject.active;
            cobj.active = allcol[i].enabled;                    //gameObject.active;
            //allcol[i].gameObject.SetActiveRecursively(false);
            allcol[i].enabled = false;
#else
            cobj.active = allcol[i].gameObject.activeInHierarchy;
            allcol[i].gameObject.SetActive(false);
#endif
            allcolliders.Add(cobj);
        }

        for (int i = 0; i < ignoreobjs.Count; i++)
        {
            if (ignoreobjs[i].active)
            {
#if UNITY_3_5
                if (ignoreobjs[i].collider)
                {
                    //ignoreobjs[i].collider.gameObject.SetActiveRecursively(GetActive(ignoreobjs[i].collider));
                    ignoreobjs[i].collider.enabled = GetActive(ignoreobjs[i].collider);
                }
#else
                if (ignoreobjs[i].collider)
                {
                    ignoreobjs[i].collider.gameObject.SetActive(GetActive(ignoreobjs[i].collider));                     // true
                }
#endif
            }
        }

        for (int i = 0; i < surfaces.Count; i++)
        {
            if (surfaces[i].active)
            {
#if UNITY_3_5
                if (surfaces[i].collider)
                {
                    //surfaces[i].collider.gameObject.SetActiveRecursively(GetActive(surfaces[i].collider));
                    surfaces[i].collider.enabled = GetActive(surfaces[i].collider);
                }
#else
                if (surfaces[i].collider)
                {
                    surfaces[i].collider.gameObject.SetActive(GetActive(surfaces[i].collider));                         //true);
                }
#endif
            }
        }
    }
Exemple #2
0
    public void CollectColliders()
    {
        // Build collider lists
        Collider[] allcol = (Collider[])FindObjectsOfType(typeof(Collider));

        allcolliders.Clear();
        for (int i = 0; i < allcol.Length; i++)
        {
            MegaScatterCollisionObj cobj = new MegaScatterCollisionObj();
            cobj.collider     = allcol[i];
            cobj.active       = allcol[i].enabled;
            allcol[i].enabled = false;
            allcolliders.Add(cobj);
        }

        for (int i = 0; i < ignoreobjs.Count; i++)
        {
            if (ignoreobjs[i].active)
            {
                if (ignoreobjs[i].collider)
                {
                    ignoreobjs[i].collider.enabled = GetActive(ignoreobjs[i].collider);
                }

                if (ignoreobjs[i].includechildren)
                {
                    ignoreobjs[i].children = ignoreobjs[i].collider.gameObject.GetComponentsInChildren <Collider>();
                    for (int c = 0; c < ignoreobjs[i].children.Length; c++)
                    {
                        ignoreobjs[i].children[c].enabled = GetActive(ignoreobjs[i].children[c]);
                    }
                }
                else
                {
                    ignoreobjs[i].children = null;
                }
            }
        }

        for (int i = 0; i < surfaces.Count; i++)
        {
            if (surfaces[i].active)
            {
                if (surfaces[i].collider)
                {
                    surfaces[i].collider.enabled = GetActive(surfaces[i].collider);

                    if (surfaces[i].prebuildenable)
                    {
                        surfaces[i].collider.enabled = true;
                    }
                }
            }
        }
    }