예제 #1
0
        public IEnumerator CreateACCoroutine(string path, string[] depends, CollectComplete collector = null)
        {
            mCollector = collector;
            mPath      = path;
            mDepends   = depends;


            AssetManager.Instance.RecordAssociate(path, depends);
            if (depends != null)
            {
                for (int i = 0; i < depends.Length; ++i)
                {
                    string     dep   = depends[i];
                    AssetProxy proxy = new AssetProxy(dep);
                    proxy.Work();
                    yield return(proxy.coroutine);

                    mDependAssets.Add(proxy);
                }
            }

            if (path != null)
            {
                AssetProxy proxy = new AssetProxy(path);
                proxy.Work();
                yield return(proxy.coroutine);

                mMainAsset = proxy;
            }
            isDone = true;
            if (needDispose)
            {
                Dispose();
            }
            if (collector != null)
            {
                collector(this);
            }
        }
예제 #2
0
 public Coroutine CreateAC(string path, string[] depends, CollectComplete collector)
 {
     return(CoroutineUtils.StartCoroutine(CreateACCoroutine(path, depends, collector)));
 }