Exemplo n.º 1
0
 public static ABBuilder Create(bool isReLoad)
 {
     if (sBuilder == null || !File.Exists(AbConfigPath) || isReLoad)
     {
         sBuilder = new ABBuilder();
         sBuilder.IntiConfig();
     }
     return(sBuilder);
 }
Exemplo n.º 2
0
    public static void AssetBundleClearMark()
    {
        string[] list = AssetDatabase.GetAllAssetBundleNames();
        for (int i = 0; i < list.Length; i++)
        {
            AssetDatabase.RemoveAssetBundleName(list[i], true);
        }
        ABBuilder builder = ABBuilderTools.Create(true);

        builder.config.ClearMark();
        builder.SaveConfig();
    }
Exemplo n.º 3
0
        public static ABBuilder GetABBuilder(BuildTarget Target)
        {
            var Builder = new ABBuilder(Target);

            return(Builder);
        }
Exemplo n.º 4
0
        public static ABBuilder GetABBuilder()
        {
            var Builder = new ABBuilder(ABBuilder.AssetBundleBuildTarget);

            return(Builder);
        }
Exemplo n.º 5
0
 public static void AssetBundlePackage()
 {
     ABBuilder.Build();
     AssetDatabase.Refresh();
     Loger.Log("打包完毕");
 }
Exemplo n.º 6
0
    public static void AssetBundleMark(bool isPahtToGUID)
    {
        ABBuilder         builder = ABBuilderTools.Create(true);
        AssetTargetConfig config  = builder.config;
        int count = config.filters.Count;

        for (int i = 0; i < count; i++)
        {
            AssetTarget target = config.filters[i];
            if (EnAssetBundleExportType.Root != target.exportType)
            {
                continue;
            }
            ABBuilderTools.DisplayProgressBar("检查", i, count);
            switch (target.filterType)
            {
            case EnAssetBundleFilter.默认:
                config.SetChildDependenciesAssetBundle(target);
                break;

            case EnAssetBundleFilter.图片:
                config.SetIconAssetBundle(target);
                break;
            }
        }
        int rootCount = 0;

        count = config.filters.Count;
        Dictionary <string, bool> mergeMaps = new Dictionary <string, bool>();

        for (int i = 0; i < count; i++)
        {
            AssetTarget target = config.filters[i];
            if (target.exportType == EnAssetBundleExportType.None)
            {
                Loger.Error(string.Format("{0}->exportType is None", target.assetPath));
                return;
            }
            if (target.exportType != EnAssetBundleExportType.Asset)
            {
                if (target.exportType == EnAssetBundleExportType.RootMerge)
                {
                    if (!mergeMaps.ContainsKey(target.abPath))
                    {
                        mergeMaps[target.abPath] = true;
                        rootCount++;
                    }
                }
                else
                {
                    rootCount++;
                }
            }
            if (target.isChangeAbName)
            {
                ABBuilderTools.DisplayProgressBar("标记", i, count);
                target.UpdateAssetAbName();
            }
        }
        Loger.Error(string.Format("需要打包 -> {0} ", rootCount));
        builder.SaveConfig();
        ABBuilderTools.ClearProgressBar();
    }