public bool IsBundleStratey(EAssetObjectInfo info) { if (_assetsMap.ContainsKey(info.AssetPath)) { return(true); } return(false); }
public bool IsBundleStratey(EAssetObjectInfo info) { if (info.AssetPath.EndsWith(".shader")) { return(true); } return(false); }
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); }
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); }
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"); }
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); } }
private void SetParent(EAssetObjectInfo asset) { /*if (_beDeps.ContainsKey(asset.AssetPath)) return; * _beDeps.Add(asset.AssetPath, asset); * _refCount++;*/ }
public void AddAssetBundleFileInfo(EAssetObjectInfo info) { }
public bool IsBundleStratey(EAssetObjectInfo info) { return(true); }