void OnValidate()
    {
        NcSortingLayerMobileFixed sortingLayer = target as NcSortingLayerMobileFixed;

        sortingLayer.SetLayerName(sortingLayer.LayerName);
        sortingLayer.SetOrderInLayer(sortingLayer.OrderInLayer);
    }
    public override void OnInspectorGUI()
    {
        NcSortingLayerMobileFixed sortingLayer = target as NcSortingLayerMobileFixed;

        EditorGUI.BeginChangeCheck();
        {
            sortingLayer.LayerName    = EditorGUILayout.TextField(GetCommonContent("LayerName"), sortingLayer.LayerName);
            sortingLayer.OrderInLayer = EditorGUILayout.IntField(GetCommonContent("OrderInLayer"), sortingLayer.OrderInLayer);
        }

        if (EditorGUI.EndChangeCheck())
        {
            OnEditComponent();
            OnValidate();
        }
    }
Esempio n. 3
0
    // ----------------------------------------------------------------------------------
    protected static Texture[] PreloadResource(GameObject tarObj, List <GameObject> parentPrefabList)
    {
        if (NcEffectBehaviour.IsSafe() == false)
        {
            return(null);
        }

        // texture
        Renderer[]     rens    = tarObj.GetComponentsInChildren <Renderer>(true);
        List <Texture> texList = new List <Texture>();

        foreach (Renderer ren in rens)
        {
            if (ren.sharedMaterials == null || ren.sharedMaterials.Length <= 0)
            {
                continue;
            }
            foreach (Material mat in ren.sharedMaterials)
            {
                if (mat != null && mat.mainTexture != null)
                {
                    texList.Add(mat.mainTexture);
                }
            }



            NcSortingLayerMobileFixed sortingLayerFixed = ren.gameObject.GetComponent <NcSortingLayerMobileFixed>();
            if (sortingLayerFixed == null)
            {
                sortingLayerFixed = ren.gameObject.AddComponent <NcSortingLayerMobileFixed>();
            }
        }

        // prefab
        NcAttachPrefab[] prefabs = tarObj.GetComponentsInChildren <NcAttachPrefab>(true);
        foreach (NcAttachPrefab obj in prefabs)
        {
            if (obj.m_AttachPrefab != null)
            {
                Texture[] ret = PreloadPrefab(obj.m_AttachPrefab, parentPrefabList, true);
                if (ret == null)
                {
                    obj.m_AttachPrefab = null;    // clear
                }
                else
                {
                    texList.AddRange(ret);
                }
            }
        }
        NcParticleSystem[] pss = tarObj.GetComponentsInChildren <NcParticleSystem>(true);
        foreach (NcParticleSystem ps in pss)
        {
            if (ps.m_AttachPrefab != null)
            {
                Texture[] ret = PreloadPrefab(ps.m_AttachPrefab, parentPrefabList, true);
                if (ret == null)
                {
                    ps.m_AttachPrefab = null;    // clear
                }
                else
                {
                    texList.AddRange(ret);
                }
            }
        }
        NcSpriteTexture[] sts = tarObj.GetComponentsInChildren <NcSpriteTexture>(true);
        foreach (NcSpriteTexture st in sts)
        {
            if (st.m_NcSpriteFactoryPrefab != null)
            {
                Texture[] ret = PreloadPrefab(st.m_NcSpriteFactoryPrefab, parentPrefabList, false);
                if (ret != null)
                {
                    texList.AddRange(ret);
                }
            }
        }
        NcParticleSpiral[] sps = tarObj.GetComponentsInChildren <NcParticleSpiral>(true);
        foreach (NcParticleSpiral sp in sps)
        {
            if (sp.m_ParticlePrefab != null)
            {
                Texture[] ret = PreloadPrefab(sp.m_ParticlePrefab, parentPrefabList, false);
                if (ret != null)
                {
                    texList.AddRange(ret);
                }
            }
        }
        NcParticleEmit[] ses = tarObj.GetComponentsInChildren <NcParticleEmit>(true);
        foreach (NcParticleEmit se in ses)
        {
            if (se.m_ParticlePrefab != null)
            {
                Texture[] ret = PreloadPrefab(se.m_ParticlePrefab, parentPrefabList, false);
                if (ret != null)
                {
                    texList.AddRange(ret);
                }
            }
        }

        // sound
        NcAttachSound[] ass = tarObj.GetComponentsInChildren <NcAttachSound>(true);
        foreach (NcAttachSound ncas in ass)
        {
            if (ncas.m_AudioClip != null)
            {
                continue;
            }
        }

        // prefab & sound
        NcSpriteFactory[] sprites = tarObj.GetComponentsInChildren <NcSpriteFactory>(true);
        foreach (NcSpriteFactory sp in sprites)
        {
            if (sp.m_SpriteList != null)
            {
                for (int n = 0; n < sp.m_SpriteList.Count; n++)
                {
                    if (sp.m_SpriteList[n].m_EffectPrefab != null)
                    {
                        Texture[] ret = PreloadPrefab(sp.m_SpriteList[n].m_EffectPrefab, parentPrefabList, true);
                        if (ret == null)
                        {
                            sp.m_SpriteList[n].m_EffectPrefab = null;    // clear
                        }
                        else
                        {
                            texList.AddRange(ret);
                        }
                        if (sp.m_SpriteList[n].m_AudioClip != null)
                        {
                            continue;
                        }
                    }
                }
            }
        }

        //Ttig(tarObj.transform) ;

        return(texList.ToArray());
    }