Exemple #1
0
        private void OnLoadSelfBundleAction(AssetDatabaseLoader adl)
        {
            var abname = adl.AssetBundleName;

            if (AssetDatabaseLoaders.ContainsKey(abname))
            {
                AssetDatabaseLoaders.Remove(abname);
                AllLoadedResourceInfos[adl.LoadCache].Add(abname, adl.BundleInfo);
            }
        }
Exemple #2
0
 protected override void RealRequestResource(string name, AssetBundleLoader.OnLoadAllBundle callback, enResourceLoadMode loadMode = enResourceLoadMode.Sync,
                                             enResourceLoadCache loadCache   = enResourceLoadCache.NormalLoad,
                                             enResourceLoadMethod loadMethod = enResourceLoadMethod.LoadFromFile, object userdata = null)
 {
     if (AllLoadedResourceInfos[enResourceLoadCache.NormalLoad].ContainsKey(name))
     {
         callback(AllLoadedResourceInfos[enResourceLoadCache.NormalLoad][name], userdata);
         if (loadCache > enResourceLoadCache.NormalLoad)
         {
             ChangeResourceInfoLoadType(name, enResourceLoadCache.NormalLoad, loadCache);
         }
     }
     else if (AllLoadedResourceInfos[enResourceLoadCache.Preload].ContainsKey(name))
     {
         callback(AllLoadedResourceInfos[enResourceLoadCache.Preload][name], userdata);
         if (loadCache > enResourceLoadCache.Preload)
         {
             ChangeResourceInfoLoadType(name, enResourceLoadCache.Preload, loadCache);
         }
     }
     else if (AllLoadedResourceInfos[enResourceLoadCache.PermanentLoad].ContainsKey(name))
     {
         callback(AllLoadedResourceInfos[enResourceLoadCache.PermanentLoad][name], userdata);
     }
     else
     {
         AssetDatabaseLoader assetDatabaseLoader = CreateAssetDatabaseLoader(name);
         assetDatabaseLoader.LoadCache              = loadCache;
         assetDatabaseLoader.UserData               = userdata;
         assetDatabaseLoader.LoadMode               = loadMode;
         assetDatabaseLoader.LoadMethod             = loadMethod;
         assetDatabaseLoader.OnLoadAllBundleAction  = callback;
         assetDatabaseLoader.OnLoadSelfBundleAction = OnLoadSelfBundleAction;
         AssetDatabaseLoaders.Add(name, assetDatabaseLoader);
         assetDatabaseLoader.StartLoadResource();
     }
 }