Esempio n. 1
0
        private IEnumerator LoadBundle(RelationNode node, LayerLoadParam param)
        {
            if (node.Nodes.Count() > 0)
            {
                LayerLoadParam layerParam = new LayerLoadParam();
                layerParam.layer = param.layer + 1;
                layerParam.num   = 0;

                for (int i = 0, count = node.Nodes.Count; i < count; i++)
                {
                    CoroutineHelper.CreateCoroutineHelper(LoadBundle(node.Nodes[i], layerParam));
                }

                while (layerParam.num >= 0 && layerParam.num < node.Nodes.Count)
                {
                    yield return(null);
                }

                if (layerParam.num < 0)
                {
                    UnLoad();
                    param.num = -100000;
                    yield break;
                }
            }

            ResLoader.LoadByName(node.File, EndLoadBundle, new LoadInfo()
            {
                name = node.File, param = param
            }, true);
        }
Esempio n. 2
0
        private IEnumerator LoadAsset(RelationFile rf)
        {
            if (rf.Nodes.Count == 0)
            {
                SetOver();
                yield break;
            }

            var node = rf.Nodes[0];

            if (node.Nodes.Count() > 0)
            {
                LayerLoadParam layerParam = new LayerLoadParam();
                layerParam.layer = 0;
                layerParam.num   = 0;


                for (int i = 0, count = node.Nodes.Count; i < count; i++)
                {
                    CoroutineHelper.CreateCoroutineHelper(LoadBundle(node.Nodes[i], layerParam));
                }

                while (layerParam.num >= 0 && layerParam.num < node.Nodes.Count())
                {
                    yield return(null);
                }

                if (layerParam.num < 0)
                {
                    UnLoad();
                    SetOver();
                    yield break;
                }
            }

            ResLoader.LoadByName(node.File, EndLoadAsset, new LoadInfo()
            {
                name = node.File, param = null
            });
        }