private void dependsHandle(EventX e)
        {
            QueueLoader queueLoader = e.target as QueueLoader;;

            queueLoader.removeEventListener(EventX.COMPLETE, dependsHandle);
            queueLoader.removeEventListener(EventX.PROGRESS, progressHandle);
            base._loadImp(0, isProgress);
        }
 public static void Recycle(QueueLoader value)
 {
     value.recycle();
     if (queueLoaderPool.Count < 100)
     {
         queueLoaderPool.Push(value);
         return;
     }
 }
        private void manifesHandle(EventX e)
        {
            AssetResource resource = e.target as AssetResource;

            resource.removeEventListener(EventX.PROGRESS, progressHandle);
            AssetsManager.bindEventHandle(resource, manifesHandle, false);
            if (e.type != EventX.COMPLETE)
            {
                _data = null;
                resourceComplete(e.type);
                return;
            }
            QueueLoader queueLoader = new QueueLoader();

            queueLoader.retryCount = 3;
            queueLoader.addEventListener(EventX.COMPLETE, dependsHandle);
            if (isProgress)
            {
                queueLoader.addEventListener(EventX.PROGRESS, progressHandle);
            }
            assetBundleManifest = resource.data as AssetBundleManifest;
            string[] dependencies = assetBundleManifest.GetAllDependencies(dependKey);

            //Hash128 hash = assetBundleManifest.GetAssetBundleHash(dependKey);
            string        hashValue = null;
            string        hashKey   = null;
            AssetResource tempResource;

            foreach (string dependency in dependencies)
            {
                string url = manifesPrefix + dependency;
                string uri = manifesKey + "/" + dependency;
                //Debug.Log(dependency);
                hashValue = assetBundleManifest.GetAssetBundleHash(dependency).ToString();
                hashKey   = manifesKey + "_" + hashValue;
                if (resourceHash128Maping.TryGetValue(hashKey, out tempResource) == false)
                {
                    tempResource = AssetsManager.getResource(url, uri, LoaderXDataType.ASSETBUNDLE);
                    resourceHash128Maping.Add(hashKey, tempResource);
                }

                /*else if (url != tempResource.url)
                 * {
                 *  Debug.Log("redirect:" + url + " to:" + tempResource.url);
                 * }*/

                tempResource.retain();
                queueLoader.add(tempResource);
            }
            queueLoader.start();
        }