コード例 #1
0
 public override T LoadAsset <T>(string assetName)
 {
     if (IsReady)
     {
         if (LoadedAssetMap.ContainsKey(assetName))
         {
             return(LoadedAssetMap[assetName] as T);
         }
         if (AssetsPath == null)
         {
             return(null);
         }
         var assetPaths = AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName(AssetBundleName, assetName);
         if (assetPaths.Length == 1)
         {
             T asset = AssetDatabase.LoadAssetAtPath <T>(assetPaths[0]);
             if (asset != null)
             {
                 LoadedAssetMap.Add(assetName, asset);
                 return(asset);
             }
             return(null);
         }
         if (assetPaths.Length > 1)
         {
             UnityEngine.Debug.LogError(string.Format("AssetBundle: {0} 存在同名Asset: {1}资源", AssetBundleName,
                                                      assetName));
             return(null);
         }
         return(null);
     }
     return(null);
 }
コード例 #2
0
 public override void LoadAllAsset <T>()
 {
     if (IsReady)
     {
         var allassets = Bundle.LoadAllAssets <T>();
         foreach (var asset in allassets)
         {
             var assetName = asset.name;
             if (!LoadedAssetMap.ContainsKey(assetName))
             {
                 LoadedAssetMap.Add(assetName, asset);
             }
         }
     }
 }
コード例 #3
0
 public override T LoadAsset <T>(string assetName)
 {
     if (IsReady)
     {
         if (LoadedAssetMap.ContainsKey(assetName))
         {
             return(LoadedAssetMap[assetName] as T);
         }
         if (Bundle == null)
         {
             return(null);
         }
         var asset = Bundle.LoadAsset <T>(assetName);
         if (asset != null)
         {
             LoadedAssetMap.Add(assetName, asset);
             return(asset);
         }
     }
     return(null);
 }
コード例 #4
0
 public override void LoadAllAsset <T>()
 {
     if (IsReady)
     {
         if (AssetsPath != null && AssetsPath.Length > 0)
         {
             foreach (string path in AssetsPath)
             {
                 var allAssets = AssetDatabase.LoadAllAssetsAtPath(path);
                 foreach (var asset in allAssets)
                 {
                     if (asset.GetType() == typeof(T))
                     {
                         var assetName = asset.name;
                         if (!LoadedAssetMap.ContainsKey(assetName))
                         {
                             LoadedAssetMap.Add(assetName, asset);
                         }
                     }
                 }
             }
         }
     }
 }