示例#1
0
 public bool IsBundleStratey(EAssetObjectInfo info)
 {
     if (_assetsMap.ContainsKey(info.AssetPath))
     {
         return(true);
     }
     return(false);
 }
示例#2
0
        public bool IsBundleStratey(EAssetObjectInfo info)
        {
            if (info.AssetPath.EndsWith(".shader"))
            {
                return(true);
            }

            return(false);
        }
示例#3
0
        public static void AddAsset(string assetPath, bool isMainAsset)
        {
            if (assetPath.EndsWith(EAssetBundleConst.IGNORE_BUILD_ASSET_SUFFIX))
            {
                return;
            }

            if (_allAssets.ContainsKey(assetPath))
            {
                Debug.Assert(_allAssets[assetPath].IsMainAsset == isMainAsset, "主资源和依赖资源重复" + assetPath);
                return;
            }

            EAssetObjectInfo info = new EAssetObjectInfo(assetPath, isMainAsset);

            _allAssets.Add(info.AssetPath, info);
        }
示例#4
0
        public static bool IsBundleStratey(EAssetObjectInfo info)
        {
            bool result = false;
            int  count  = 0;
            int  length = _strateys.Count;

            for (int i = 0; i < length; i++)
            {
                if (_strateys[i].IsBundleStratey(info))
                {
                    result = true;
                    count++;
                }
            }
            if (count >= 1)
            {
                UnityEngine.Debug.Assert(count != 1, "Build AssetBunlde 策略失败:" + info.AssetPath);
            }
            return(result);
        }
示例#5
0
        public static void SetAllAssetName()
        {
            Dictionary <string, EAssetObjectInfo> allAssets = EAssetBundleAnalysis._allAssets;

            BuildAssetStrateyManager.Init();
            BuildAssetStrateyManager.SetAssetBundleName();
            int index = 1;

            foreach (var info in allAssets)
            {
                EAssetObjectInfo assetInfo = info.Value;
                index++;
                EditorUtility.DisplayProgressBar("设置主AssetBundle名字", assetInfo.AssetPath, (float)(index) / allAssets.Count);

                if (BuildAssetStrateyManager.IsBundleStratey(assetInfo))
                {
                    continue;
                }


                if (assetInfo.IsMainAsset)
                {
                    SetAbNameByPath(assetInfo.AssetPath);
                }
                else if (assetInfo.RefCount > 1)
                {
                    SetAbNameByPath(assetInfo.AssetPath);
                }
            }

            EditorUtility.ClearProgressBar();
            Resources.UnloadUnusedAssets();
            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();

            EditorUtility.DisplayDialog("设置名字完成", "请查看log日志", "Ok");
        }
示例#6
0
        public void AnalyzeAsset()
        {
            List <string> tmpTopDep = new List <string>();

            EAssetBundleHelper.FindRealDep(_assetPath, tmpTopDep);

            // 添加Asset真真的依赖
            for (int i = tmpTopDep.Count - 1; i >= 0; i--)
            {
                if (tmpTopDep[i].EndsWith(EAssetBundleConst.IGNORE_BUILD_ASSET_SUFFIX))
                {
                    continue;
                }
                EAssetObjectInfo depAb = EAssetBundleAnalysis.FindAssetObject(tmpTopDep[i]);
                if (depAb == null)
                {
                    Debug.LogError("找不到资源:" + tmpTopDep[i] + "居然没进缓存");
                    continue;
                }
                Debug.AssertFormat(!depAb.IsMainAsset, "主依赖资源[{0}]不能成为依赖资源", depAb.AssetPath);
                //_topDepMap.Add(depAb.AssetPath, depAb);
                depAb.SetParent(this);
            }
        }
示例#7
0
 private void SetParent(EAssetObjectInfo asset)
 {
     /*if (_beDeps.ContainsKey(asset.AssetPath)) return;
      * _beDeps.Add(asset.AssetPath, asset);
      * _refCount++;*/
 }
示例#8
0
 public void AddAssetBundleFileInfo(EAssetObjectInfo info)
 {
 }
示例#9
0
 public bool IsBundleStratey(EAssetObjectInfo info)
 {
     return(true);
 }