少年修仙传客户端基础资源
lwb
2020-11-20 523a8c5b8de799aeaeaa7287f0b4f9e2edf339ee
Assets/Editor/Tool/BuildExtersion.cs
@@ -15,6 +15,26 @@
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                var levelPattern = "001";
                var versionsFilePath = Application.dataPath + Path.DirectorySeparatorChar + "Editor/VersionConfigs/Versions.txt";
                var lines = File.ReadAllLines(versionsFilePath);
                for (int i = 2; i < lines.Length; i++)
                {
                    var line = lines[i];
                    var lineStrings = line.Split('\t');
                    if (lineStrings[0] == buildParameters.publisher)
                    {
                        levelPattern = lineStrings[23];
                        break;
                    }
                }
                if (!string.IsNullOrEmpty(levelPattern))
                {
                    UpdateLevelSetting.SetCreateRoleLevel(levelPattern);
                    AssetDatabase.Refresh();
                }
                UpdateLevelSetting.SetAllLevelAssetBundleName();
                ExcuteBuildAsset("maps", buildParameters);
            }
@@ -33,36 +53,20 @@
    public static void BuildEffect()
    {
        try
        {
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateEffectPrefabSetting.SetAllEffectPrefabAssetBundleName();
                ExcuteBuildAsset("effect", buildParameters);
            }
            else
            {
                EditorApplication.Exit(1);
            }
        }
        catch (Exception ex)
        {
            Debug.Log("打包特效失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
    }
    public static void BuildMob()
    public static void BuildMobEffectShader()
    {
        try
        {
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateEffectPrefabSetting.SetAllEffectPrefabAssetBundleName();
                UpdateMobSetting.SetAllMobAssetBundleName();
                ExcuteBuildAsset("mob", buildParameters);
                UpdateShaderSetting.SetAllShaderAssetBundleName();
                ExcuteBuildAsset("mobeffectshader", buildParameters);
            }
            else
            {
@@ -71,7 +75,7 @@
        }
        catch (Exception ex)
        {
            Debug.Log("打包NPC模型失败");
            Debug.Log("打包NPC模型 特效 shader失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
@@ -86,7 +90,7 @@
            {
                UpdateScriptableObjectsSetting.SetAllScriptableObjectAssetBundleName();
                ExcuteBuildAsset("config", buildParameters);
                TableTool.ReadAllTxtToBytes(StringUtility.Contact(buildParameters.GetWholeOutPutPath(), "/config"));
                TableTool.CopyConfigsToOutPutPath(StringUtility.Contact(buildParameters.GetWholeOutPutPath(), "/config"));
            }
            else
            {
@@ -96,6 +100,31 @@
        catch (Exception ex)
        {
            Debug.Log("打包配置表失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
    }
    public static void BuildLua()
    {
        try
        {
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                LuaBuildHelper.OnPreBuild();
                UpdateLuaSetting.SetAllLuaAssetBundleName();
                ExcuteBuildAsset("lua", buildParameters);
                LuaBuildHelper.OnPostBuild();
            }
            else
            {
                EditorApplication.Exit(1);
            }
        }
        catch (Exception ex)
        {
            Debug.Log("打包lua失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
@@ -110,6 +139,9 @@
            {
                UpdateAudioSetting.SetAllAudioAssetBundleName();
                ExcuteBuildAsset("audio", buildParameters);
               // UpdateVideoSetting.SetAllVideoAssetBundleName();
               // ExcuteBuildAsset("video", buildParameters);
            }
            else
            {
@@ -122,29 +154,11 @@
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
    }
    }
    public static void BuildShader()
    {
        try
        {
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateShaderSetting.SetAllShaderAssetBundleName();
                ExcuteBuildAsset("graphic", buildParameters);
            }
            else
            {
                EditorApplication.Exit(1);
            }
        }
        catch (Exception ex)
        {
            Debug.Log("打包shader失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
    }
    public static void BuildUI()
@@ -158,6 +172,24 @@
                //CheckFontSwitch.CheckAndReplaceFontSwitch();
                UpdateUIPrefabSetting.SetAllUIPrefabAssetBundleName();
                UpdateUIWindowSetting.SetAllUIWindowAssetBundleName();
                var rechargePattern = 1;
                var versionsFilePath = Application.dataPath + Path.DirectorySeparatorChar + "Editor/VersionConfigs/Versions.txt";
                var lines = File.ReadAllLines(versionsFilePath);
                for (int i = 2; i < lines.Length; i++)
                {
                    var line = lines[i];
                    var lineStrings = line.Split('\t');
                    if (lineStrings[0] == buildParameters.publisher)
                    {
                        rechargePattern = int.Parse(lineStrings[22]);
                        break;
                    }
                }
                UpdateSpriteSetting.SetRechargeSkin(rechargePattern);
                AssetDatabase.Refresh();
                UpdateSpritePackingSetting.UpdateAllSpritePackingSetting();
                UpdateSpriteSetting.SetAllSpriteAssetBundleName();
                ExcuteBuildAsset("ui", buildParameters);
@@ -170,6 +202,33 @@
        catch (Exception ex)
        {
            Debug.Log("打包ui失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
    }
    public static void BuildBuiltIn()
    {
        try
        {
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                var publisher = buildParameters.publisher;
                BuiltInResourceSetting.SetLaunchBackGround(publisher, buildParameters.buildTarget);
                BuiltInResourceSetting.SetLoginBackGround(publisher, buildParameters.buildTarget);
                BuiltInResourceSetting.SetLoginLogo(publisher, buildParameters.buildTarget);
                UpdateBuiltInSetting.SetBuiltinAssetBundleName();
                ExcuteBuildAsset("builtin", buildParameters);
            }
            else
            {
                EditorApplication.Exit(1);
            }
        }
        catch (Exception ex)
        {
            Debug.Log("打包builtin失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
@@ -199,19 +258,20 @@
        }
    }
    private static void ExcuteBuildAsset(string _category, BuildParameters _params)
    private static void ExcuteBuildAsset(string category, BuildParameters @params)
    {
        var opt = BuildAssetBundleOptions.None;
        opt |= BuildAssetBundleOptions.ChunkBasedCompression;
        opt |= BuildAssetBundleOptions.DeterministicAssetBundle;
        AssetBundleBuildExtersion.Build(_params.GetWholeOutPutPath(), _category, opt, _params.buildTarget);
        AssetBundleBuildExtersion.Build(@params.GetWholeOutPutPath(), category, opt, @params.buildTarget);
    }
    class BuildParameters
    {
        public bool error = false;
        public string outputPath;
        public string publisher;
        public BuildTarget buildTarget;
        public BuildParameters()
@@ -236,7 +296,14 @@
                            case "ios":
                                buildTarget = BuildTarget.iOS;
                                break;
                            case "standalone":
                                buildTarget = BuildTarget.StandaloneWindows;
                                break;
                        }
                    }
                    else if (arg.ToLower() == "-publisher")
                    {
                        publisher = args[i + 1];
                    }
                }
@@ -252,7 +319,17 @@
        public string GetWholeOutPutPath()
        {
            return StringUtility.Contact(outputPath, "/", buildTarget.ToString().ToLower());
            switch (buildTarget)
            {
                case BuildTarget.Android:
                    return StringUtility.Contact(outputPath, "/android");
                case BuildTarget.iOS:
                    return StringUtility.Contact(outputPath, "/ios");
                case BuildTarget.StandaloneWindows:
                    return StringUtility.Contact(outputPath, "/standalone");
                default:
                    return string.Empty;
            }
        }
    }