/// <summary>
        /// 打包AssetBundle
        /// </summary>
        void BuildingAssetBundle(emBuildType build_type)
        {
            try
            {
                bool running = true;
                SaveData();
                running = AssetBundleNameTool.RunningAssetBundleNameTool(asset_bundle_build_);
                if (running)
                {
                    running = SceneConfigTool.GenerateAllSceneConfig(asset_bundle_build_.Data.Scenes);
                }
                if (running)
                {
                    BuildAssetBundle.BuildAllAssetBundlesToTarget(GetBuildTargetType(build_type), build_option_);
                }
                if (running)
                {
                    LoadAssetBundleGranularityInfo();
                }
            }
            catch (System.Exception ex)
            {
                Debug.LogError(ex.Message);
            }

            SceneConfigTool.RestoreAllScene(asset_bundle_build_.Data.Scenes);
            EditorUtility.ClearProgressBar();
        }
Example #2
0
        /// <summary>
        /// 执行已做的修改
        /// </summary>
        void ExecuteModified()
        {
            ResourcesManifest old_resources_manifest = new ResourcesManifest();

            old_resources_manifest.Load(EditorCommon.RESOURCES_MANIFEST_FILE_PATH);

            //压缩AB包
            bool compress = BuildAssetBundle.CompressAssetBundles(old_resources_manifest
                                                                  , Manifest);
            //保存数据
            bool save = compress ? SaveData() : false;
            //拷贝资源
            bool copy    = save ? BuildAssetBundle.CopyNativeAssetBundleToStreamingAssets(Manifest) : false;
            bool succeed = compress && copy && save;

            if (succeed)
            {
                //同步数据
                if (AssetBundleBuildWindow.Instance != null)
                {
                    AssetBundleBuildWindow.Instance.SyncConfigForm(Manifest.Data);
                }
                else
                {
                    AssetBundleBuild buildData = new AssetBundleBuild();
                    buildData.Load(EditorCommon.ASSETBUNDLE_BUILD_RULE_FILE_PATH);
                    buildData.SyncConfigFrom(Manifest.Data);
                    buildData.Save(EditorCommon.ASSETBUNDLE_BUILD_RULE_FILE_PATH);
                }
            }

            string title         = "执行配置AssetBundle" + (succeed ? "成功" : "失败");
            string compress_desc = "压缩资源 - " + (compress ? "成功" : "失败");
            string save_desc     = "保存配置文件 - " + (save ? "成功" : "失败");
            string copy_desc     = "拷贝初始资源至安装包目录 - " + (copy ? "成功" : "失败");
            string desc          = compress_desc + "\n"
                                   + save_desc + "\n"
                                   + copy_desc + "\n\n";

            EditorUtility.DisplayDialog(title, desc, "确认");
        }
        /// <summary>
        /// 打包AssetBundle
        /// </summary>
        void BuildingAssetBundle()
        {
            bool running = true;

            SaveData();
            running = AssetBundleNameTool.RunningAssetBundleNameTool(asset_bundle_build_);
            if (running)
            {
                running = SceneConfigTool.GenerateAllSceneConfig(asset_bundle_build_.Data.Scenes);
            }
            if (running)
            {
                BuildAssetBundle.BuildAllAssetBundlesToTarget(GetBuildTargetType(), build_option_);
            }
            if (running)
            {
                LoadAssetBundleGranularityInfo();
            }

            SceneConfigTool.RestoreAllScene(asset_bundle_build_.Data.Scenes);
        }
        /// <summary>
        /// 执行已做的修改
        /// </summary>
        void ExecuteModified()
        {
            ResourcesManifest old_resources_manifest = new ResourcesManifest();

            old_resources_manifest.Load(EditorCommon.RESOURCES_MANIFEST_FILE_PATH);

            bool compress = BuildAssetBundle.CompressAssetBundles(old_resources_manifest
                                                                  , ref Manifest);
            bool save    = compress ? SaveData() : false;
            bool copy    = save ? BuildAssetBundle.CopyNativeAssetBundleToStreamingAssets(Manifest) : false;
            bool succeed = compress && copy && save;

            string title         = "执行配置AssetBundle" + (succeed ? "成功" : "失败");
            string compress_desc = "压缩资源 - " + (compress ? "成功" : "失败");
            string save_desc     = "保存配置文件 - " + (save ? "成功" : "失败");
            string copy_desc     = "拷贝初始资源至安装包目录 - " + (copy ? "成功" : "失败");
            string desc          = compress_desc + "\n"
                                   + save_desc + "\n"
                                   + copy_desc + "\n\n";

            EditorUtility.DisplayDialog(title, desc, "确认");
        }
Example #5
0
        /// <summary>
        ///
        /// </summary>
        void OnGUI()
        {
            GUI.color = Color.white;
            GUILayout.BeginHorizontal();
            GUILayout.Label("Current Resources Package", GUILayout.Width(176f));
            current_pack_name_ = GUILayout.TextField(current_pack_name_);
            if (GUILayout.Button("新建", GUILayout.Width(40f)))
            {
                ResourcesPackagesData.Package pack = new ResourcesPackagesData.Package()
                {
                    Name = current_pack_name_
                };
                AddPack(pack);
            }
            if (lastest_pack_ != null)
            {
                if (lastest_pack_.Name != current_pack_name_)
                {
                    if (GUILayout.Button("更新", GUILayout.Width(40f)))
                    {
                        UpdatePackName(lastest_pack_.Name, current_pack_name_);
                    }
                }
                else
                {
                    if (GUILayout.Button("删除", GUILayout.Width(40f)))
                    {
                        DeletePack(lastest_pack_.Name);
                    }
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.BeginVertical();
            scroll_ = GUILayout.BeginScrollView(scroll_);
            foreach (var pack in Packages.Data.Packages)
            {
                GUI.color = Color.white;

                bool   state = EditorPrefs.GetBool(pack.Key, true);
                string head  = pack.Key;
                if (lastest_pack_ != null && head == lastest_pack_.Name)
                {
                    head = "<color=green>" + head + "</color>";
                }
                bool show = GUILayoutHelper.DrawHeader(head, pack.Key, true, false);
                if (show != state)
                {
                    lastest_pack_      = pack.Value;
                    current_pack_name_ = pack.Key;
                }

                if (show)
                {
                    GUILayout.BeginHorizontal();
                    GUILayout.Space(10f);
                    GUILayout.BeginVertical();
                    List <string> temp = new List <string>(pack.Value.AssetList);
                    foreach (var asset in temp)
                    {
                        string path  = EditorCommon.ProjectDirectory + asset;
                        bool   exist = System.IO.File.Exists(path) || System.IO.Directory.Exists(path);
                        GUI.color = exist ? Color.white : Color.red;
                        GUILayout.BeginHorizontal("AS TextArea", GUILayout.MinHeight(20f));
                        GUI.backgroundColor = Color.white;
                        GUILayout.Label(asset);

                        if (!exist)
                        {
                            GUILayout.Label("?", GUILayout.Width(22f));
                        }
                        if (GUILayout.Button("X", GUILayout.Width(22f)))
                        {
                            RemoveAsset(pack.Value, asset);
                        }
                        GUILayout.EndHorizontal();
                    }
                    GUILayout.EndVertical();
                    GUILayout.EndHorizontal();

                    GUI.color = Color.white;
                    GUILayout.BeginHorizontal();
                    GUILayout.Space(10f);
                    if (GUILayout.Button("添加选中的资源", GUILayout.Width(160f)))
                    {
                        AddSelectionAsset(pack.Value);
                    }
                    GUILayout.EndHorizontal();
                }
            }
            GUILayout.EndScrollView();
            GUILayout.EndVertical();
            GUILayout.EndHorizontal();

            GUILayout.Space(8f);
            if (GUILayout.Button("保存文件"))
            {
                SaveData();
                BuildAssetBundle.CopyResourcesPackageFileToStreamingAssets();
            }
        }