예제 #1
0
        /// <summary>
        /// AssetBundle打包
        /// </summary>
        public void BuildAssetBundles()
        {
            if (string.IsNullOrEmpty(buildSettings.outPutPath))
            {
                if (UnityEditor.EditorUtility.DisplayDialog("Warning", "OutPutPath is Empty!", "Reset"))
                {
                    Reset();
                }
                return;
            }
            var watch = new Stopwatch();

            watch.Start();

            // 是否删除目录
            if (buildSettings.clearFolders && Directory.Exists(buildSettings.outPutPath))
            {
                Directory.Delete(buildSettings.outPutPath, true);
            }
            // 执行打包规则
            BuildHelper.ApplyBuildRules();
            // 资源打包
            BuildHelper.BuildAssetBundles(buildSettings.outPutPath, buildSettings.options, buildSettings.buildTarget);

            // 复制到StreamingAssets
            if (buildSettings.copytostreamingAssets)
            {
                var dest = Utility.Path.Combine(Application.streamingAssetsPath, GameConst.ASSETBUNDLES);
                if (!Directory.Exists(dest))
                {
                    Directory.CreateDirectory(dest);
                }
                EditorUtility.CopyAssets(buildSettings.outPutPath, dest);
            }
            AssetDatabase.Refresh();

            watch.Stop();
            Log.Debug("BuildAssetBundles " + watch.ElapsedMilliseconds + " ms.");

            EditorUtility.ExplorerFolder(buildSettings.outPutPath);
        }
예제 #2
0
 /// <summary>
 /// 一键构建AssetBundles
 /// </summary>
 static void BuildAssetBundles()
 {
     BuildHelper.BuildAssetBundles();
 }