Quellcode durchsuchen

加入仅打包lua与config

ybx_Gdn vor 1 Jahr
Ursprung
Commit
64717148c4

+ 2 - 2
Assets/Editor/AssetBundle/AssetBundleMap.cs

@@ -454,7 +454,7 @@ public class AssetBundleMap : EditorWindow
 
         if (showProcessBar)
             EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "Lua...", 0.9f);
-
+        addBuildAssetsCommon(maps, "config.unity3d", Constants.CsvConfig, "*.csv");
         addBuildAssetsLua(maps);
 
         List<AssetBundleBuild> bm = new List<AssetBundleBuild>(maps.Maps.Count);
@@ -463,7 +463,7 @@ public class AssetBundleMap : EditorWindow
             AssetBundleBuild bundle = new AssetBundleBuild();
             bundle.assetBundleName = items.Key;
             bundle.assetNames = items.Value.ToArray();
-
+            LogABName(items.Key, bundle.assetBundleName);
             if (bundle.assetNames.Length == 0)
             {
                 Debug.LogWarning(items.Key + " empty assetNames");

+ 19 - 1
Assets/Editor/Pack/PackRun.cs

@@ -128,7 +128,25 @@ namespace Pack
             RecordCurEnv(packPlatformBase);
             packPlatformBase.BuildAssetBundles();
         }
-
+        public static void BuildLuaAB(PackPlatformBase packPlatformBase)
+        {
+            if (packPlatformBase == null)
+            {
+                throw new PackException("目标打包平台是错误的");
+            }
+            if (!packPlatformBase.CanBuildAssetBundles())
+            {
+                packPlatformBase.BuildOnlyLua();
+                return;
+            }
+            if (EditorApplication.isCompiling)
+            {
+                throw new PackException("编辑器正在编译脚本文件,不能开始编译AB");
+            }
+            ClearCurEnv();
+            RecordCurEnv(packPlatformBase);
+            packPlatformBase.BuildOnlyLua();
+        }
         public static void BuildApp(string channelUniqueId)
         {
             PackPlatforms packPlatforms = GetConfigs(true);

+ 25 - 0
Assets/Editor/Pack/PackWindowSinglePlatform.cs

@@ -305,6 +305,31 @@ namespace Pack
                 GUIUtility.ExitGUI();
             }
             EditorGUI.EndDisabledGroup();
+
+            EditorGUI.BeginDisabledGroup(m_PlatformBase == null || !m_PlatformBase.CanBuildApp());
+            if (GUILayout.Button("仅打包Lua", PackGUI.styles.miniButton))
+            {
+                if (EditorUtility.DisplayDialog("提示", "确认仅打包Lua?", "是", "否"))
+                {
+                    if (!SavePlatformSingleChange())
+                    {
+                        try
+                        {
+                            //PackRun.BuildApp(m_PlatformBase);
+                            PackRun.BuildLuaAB(m_PlatformBase);
+                            EditorUtility.DisplayDialog("提示", "仅打包Lua成功", "好的");
+                        }
+                        catch (System.Exception e)
+                        {
+                            Debug.LogException(e);
+                            EditorUtility.DisplayDialog("提示", "仅打包Lua失败", "好的");
+                        }
+                    }
+                }
+                GUIUtility.ExitGUI();
+            }
+            EditorGUI.EndDisabledGroup();
+
             EditorGUILayout.EndHorizontal();
             EditorGUILayout.Space();
             EditorGUILayout.Space();

+ 3 - 1
Assets/Editor/Pack/Platform/PackPlatformBaseBuild.cs

@@ -1,4 +1,4 @@
-using System.IO;
+using System.IO;
 using UnityEditor;
 using UnityEngine;
 
@@ -39,6 +39,8 @@ namespace Pack
         {
         }
 
+        public virtual void BuildOnlyLua()
+        { }
         public virtual bool CanBuildApp()
         {
             return true;

+ 41 - 1
Assets/Editor/Pack/Platform/PackPlatformUnityBuild.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Reflection;
@@ -41,6 +41,46 @@ namespace Pack
             }
         }
 
+        public override void BuildOnlyLua()
+        {
+            base.BuildOnlyLua();
+            try
+            {
+                BuildClear();
+                AssetDatabase.Refresh();
+                ChangeBuildTarget();
+                ChangeLuaConfig();
+                //ChangeGameAssets();
+                //ChangeLogin();
+                //ChangeLogo();
+                //CheckAppInfo();
+                //ChangeAppIcon();
+                //ChangeSplashScreen();
+                //ChangePlatformSpecial();
+                //ChangePlayerSettings();
+                EditorUtility.ClearProgressBar();
+                AssetDatabase.Refresh();
+                AssetDatabase.SaveAssets();
+                ChangeAssetsObscure();
+                AssetBundleMap.BuildLuaAssetBundles(resVersionCode);
+                if (Application.isBatchMode)
+                {
+                    PackLog.Log(PackConstant.TAG_ResOutPath + BundleBuilderZ.GetAssetbundlesPath());
+                }
+                if (Application.isBatchMode)
+                {
+                    string outPath = GetBuildOutputPath();
+                    PackLog.Log(PackConstant.TAG_AppOutPath + outPath);
+                }
+            }
+            catch (Exception e)
+            {
+                EditorUtility.ClearProgressBar();
+                PackLog.LogException(e);
+                throw e;
+            }
+
+        }
         public override void BuildAssetBundles()
         {
             base.BuildAssetBundles();