FairyGUI.UIPanel.CacheNativeChildrenRenderers C# (CSharp) Method

CacheNativeChildrenRenderers() public method

public CacheNativeChildrenRenderers ( ) : void
return void
        public void CacheNativeChildrenRenderers()
        {
            if (_renders == null)
                _renders = new List<Renderer>();
            else
                _renders.Clear();

            Transform t = this.container.cachedTransform;
            int cnt = t.childCount;
            for (int i = 0; i < cnt; i++)
            {
                GameObject go = t.GetChild(i).gameObject;
                if (go.name != "GComponent")
                    _renders.AddRange(go.GetComponentsInChildren<Renderer>(true));
            }

            cnt = _renders.Count;
            for (int i = 0; i < cnt; i++)
            {
                Renderer r = _renders[i];
                if ((r is SkinnedMeshRenderer) || (r is MeshRenderer))
                {
                    //Set the object rendering in Transparent Queue as UI objects
                    if (r.sharedMaterial != null)
                        r.sharedMaterial.renderQueue = 3000;
                }
            }
        }

Usage Example

Example #1
0
 static int CacheNativeChildrenRenderers(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         FairyGUI.UIPanel obj = (FairyGUI.UIPanel)ToLua.CheckObject(L, 1, typeof(FairyGUI.UIPanel));
         obj.CacheNativeChildrenRenderers();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }