/// <summary> /// 加载资源 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="abName"></param> /// <param name="objName"></param> /// <returns></returns> private Object LoadFormAssetBundle(string assetName, ManifestItem item, Type t) { Object o = null; AssetBundleWapper abr = null; if (AssetbundleMap.TryGetValue(item.Path, out abr)) { switch ((ManifestItem.AssetTypeEnum)item.Type) { //暂时需要特殊处理的只有一个 case ManifestItem.AssetTypeEnum.SpriteAtlas: { o = abr.LoadTextureFormAtlas(assetName); } break; case ManifestItem.AssetTypeEnum.Prefab: case ManifestItem.AssetTypeEnum.Texture: case ManifestItem.AssetTypeEnum.Others: default: { o = abr.LoadAsset(assetName, t); } break; } } else { BDebug.Log("资源不存在:" + assetName + " - " + item.Path, "red"); return(null); } return(o); }
/// <summary> /// 加载资源 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="abName"></param> /// <param name="objName"></param> /// <returns></returns> public T LoadFormAssetBundle <T>(string assetName, ManifestItem item) where T : UnityEngine.Object { if (item != null) { return(LoadFormAssetBundle(assetName, item, typeof(T)) as T); } BDebug.LogError("不存在:" + assetName); return(null); }
/// <summary> /// 获取单个menifestItem /// </summary> /// <param name="manifestName"></param> /// <returns></returns> public ManifestItem GetManifest(string manifestName) { if (!string.IsNullOrEmpty(manifestName)) { ManifestItem item = null; this.ManifestMap.TryGetValue(manifestName, out item); return(item); } return(null); }
/// <summary> /// 加载资源 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="abName"></param> /// <param name="objName"></param> /// <returns></returns> private T LoadFormAssetBundle <T>(string assetName) where T : UnityEngine.Object { ManifestItem item = this.loder.Manifest.GetManifest(assetName); if (item != null) { return(LoadFormAssetBundle(assetName, item, typeof(T)) as T); } Debug.LogError("不存在:" + assetName); return(null); }
/// <summary> /// 获取单个依赖 /// </summary> /// <param name="menifestName"></param> /// <returns>这个list外部不要修改</returns> public List <string> GetDependenciesByName(string name) { ManifestItem item = null; if (this.ManifestMap.TryGetValue(name, out item)) { var list = new List <string>(item.Depend); return(list); } BDebug.LogError("【config】不存在资源:" + name); return(null); }
/// <summary> /// 添加manifest /// </summary> /// <param name="key"></param> /// <param name="item"></param> public void AddManifest(string key, ManifestItem item) { ManifestMap[key] = item; }