private void CollectAssetFromLoader(BaseLoader loader)
 {
     if (loader is AssetBundleLoader)
     {
         if (_dictResourceAssetBundle.ContainsKey(loader.path) == true)
         {
             return;
         }
         AssetBundleLoader assetBundleLoader = loader as AssetBundleLoader;
         if (assetBundleLoader.asset != null)
         {
             _dictResourceAssetBundle.Add(loader.path, new ResourceItem(assetBundleLoader.asset));
         }
         foreach (var sub in assetBundleLoader.assetDependencies)
         {
             if (sub.asset != null)
             {
                 _dictResourceAsset.Add(sub.path, new ResourceItem(sub.asset));
             }
         }
     }
     else if (loader is AssetBundleManifestLoader)
     {
         assetBundleManifest = ((AssetBundleManifestLoader)loader).assetBundleManifest;
     }
     else if (loader is AssetBundleCRCLoader)
     {
         _dictAssetBundleCRC = ((AssetBundleCRCLoader)loader).crcDict;
     }
     else if (loader is TextureLoader)
     {
         if (_dictResourceTexture.ContainsKey(loader.path) == true)
         {
             return;
         }
         ResourceItem r = new ResourceItem(((TextureLoader)loader).texture);
         _dictResourceTexture.Add(loader.path, r);
     }
     else if (loader is AssetLoader)
     {
         if (_dictResourceAsset.ContainsKey(loader.path) == true)
         {
             return;
         }
         ResourceItem r = new ResourceItem(((AssetLoader)loader).asset);
         _dictResourceAsset.Add(loader.path, r);
     }
     else
     {
         Debug.LogErrorFormat("Loader Error {0}", loader.GetType());
     }
 }