示例#1
0
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
        }
示例#5
0
        /// <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);
        }
示例#6
0
 /// <summary>
 /// 添加manifest
 /// </summary>
 /// <param name="key"></param>
 /// <param name="item"></param>
 public void AddManifest(string key, ManifestItem item)
 {
     ManifestMap[key] = item;
 }