public static void CreateAsset()
    {
        EditorUtility.DisplayProgressBar("创建AssetBundle", "请等待...", 0.5f);
        PublishEditor.MoveResToAsset();
        BundleNames.Clear();
        ResourceInfo mResourceInfo = new ResourceInfo();

        mResourceInfo.AppVersion  = AppV;
        mResourceInfo.CodeVersion = CodeV;
        mResourceInfo.ResVersion  = ResV;
        mResourceInfo.ResList     = new List <ResourceItemInfo> ();
        mResourceInfo.ModuleList  = ModuleAssetBundle.ModuleList;
        SetAssetName(mResourceInfo, AssetPath, BundleNames);

        //FileUtil.DeleteFileOrDirectory(AssetOutPath);
        if (!Directory.Exists(AssetOutPath))
        {
            Directory.CreateDirectory(AssetOutPath);
        }

        BundleNames.Add(ResInfoName);
        BundleNames.Add(UpdateFileName);


        BuildPipeline.BuildAssetBundles(AssetOutPath, BuildAssetBundleOptions.UncompressedAssetBundle, EditorUserBuildSettings.activeBuildTarget);

        CreateUpdateFile(AssetOutPath, mResourceInfo);

        SetDependencies(mResourceInfo, AssetOutPath);

        SaveResInfoFile(Path.Combine(AssetOutPath, ResInfoName), mResourceInfo);

        ZipToStreaming();

        ClearAssetName(AssetPath, mResourceInfo);
        PublishEditor.MoveAssetToRes();
        AssetDatabase.Refresh();
        EditorUtility.ClearProgressBar();
        //EditorUtility.DisplayDialog("提示", "打包AssetBundle完成!", "确定");
    }
示例#2
0
    static void CreateAsset(string rootName, string name, int appV, int codeV, int resV)
    {
        PublishEditor.MoveResToModuleAsset(name);
        BundleNames.Clear();
        ResourceInfo resInfo = new ResourceInfo();

        resInfo.AppVersion  = appV;
        resInfo.CodeVersion = codeV;
        resInfo.ResVersion  = resV;
        resInfo.ResList     = new List <ResourceItemInfo> ();
        ResourceItemInfo item = new ResourceItemInfo();

        item.Path       = name;
        item.Name       = name;
        item.IsResident = false;
        GetResItemInfo(resInfo, item.Path, false, BundleNames);
        item.ResNames = new List <string> ();
        resInfo.ResList.Add(item);
        item.IsAsset = AssetHeplerEditor.SetAssetBundleName("Assets/" + rootName + "/" + name, item.Name, item.ResNames);

        string outP = GetOutPath(CreateAssetBundle.AssetPath);

        //FileTools.ClearDirectory (outP);
        FileTools.CreateDirectory(outP);

        BuildPipeline.BuildAssetBundles(outP, BuildAssetBundleOptions.UncompressedAssetBundle | BuildAssetBundleOptions.ForceRebuildAssetBundle, EditorUserBuildSettings.activeBuildTarget);

        CreateAssetBundle.SetDependencies(resInfo, outP);

        CreateAssetBundle.SaveResInfoFile(FileTools.CombinePath(outP, name + CreateAssetBundle.ResInfoName), resInfo);

        CreateAssetBundle.ClearAssetName(rootName, resInfo);

        //CopyToSteaming(rootName, name);
        PublishEditor.MoveModuleAssetToRes(name);
        AssetDatabase.Refresh();
        //EditorUtility.DisplayDialog("提示", "打包AssetBundle完成!", "确定");
    }