Пример #1
0
 private static AssetManager.Asset LoadAsset(AssetManager.Bundle bundle, string name, Type type, AssetManager.OnAssetLoaded assetLoaded, AssetManager.LoadAssetDelegate OnLoadAsset)
 {
     AssetManager.Asset asset = AssetManager.FindAsset(name);
     if (asset != null)
     {
         if (asset.State == AssetManager.State.Loaded)  //已经正确加载,重定向回调
         {
             asset.ClearEvents();
             asset.AssetLoaded += assetLoaded;
             asset.OnLoaded();
             return(asset);
         }
         AssetManager.StopLoadAsyncAsset(asset);
     }
     else
     {
         asset = new AssetManager.Asset();
         AssetManager.Assets.Add(name, asset);
     }
     asset.Name   = name;
     asset.Type   = type;
     asset.Bundle = bundle;
     asset.ClearEvents();   //如果先请求loadAsset,然后才loadBundle,不管前面的无效请求,只管loadBundle之后的loadAsset
     asset.AssetLoaded += assetLoaded;
     return(OnLoadAsset(asset));
 }
Пример #2
0
 private static void AssetLoaded(AssetManager.Asset asset)
 {
     asset.State = AssetManager.State.Loaded;
     asset.OnLoaded();
 }