少年修仙传客户端基础资源
client_Wu Xijin
2019-02-16 22b7bcdee6f652e9cea8f5a747e262718efffb3a
Assets/Editor/Tool/BuildExtersion.cs
@@ -15,6 +15,27 @@
            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[22];
                        break;
                    }
                }
                if (!string.IsNullOrEmpty(levelPattern))
                {
                    UpdateLevelSetting.SetCreateRoleLevel(levelPattern);
                    AssetDatabase.Refresh();
                }
                UpdateLevelSetting.SetAllLevelAssetBundleName();
                ExcuteBuildAsset("maps", buildParameters);
            }
            else
@@ -37,6 +58,7 @@
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateEffectPrefabSetting.SetAllEffectPrefabAssetBundleName();
                ExcuteBuildAsset("effect", buildParameters);
            }
            else
@@ -59,6 +81,7 @@
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateMobSetting.SetAllMobAssetBundleName();
                ExcuteBuildAsset("mob", buildParameters);
            }
            else
@@ -81,7 +104,9 @@
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateScriptableObjectsSetting.SetAllScriptableObjectAssetBundleName();
                ExcuteBuildAsset("config", buildParameters);
                TableTool.CopyConfigsToOutPutPath(StringUtility.Contact(buildParameters.GetWholeOutPutPath(), "/config"));
            }
            else
            {
@@ -90,7 +115,32 @@
        }
        catch (Exception ex)
        {
            Debug.Log("打包配置表失败", buildParameters);
            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);
        }
@@ -103,6 +153,7 @@
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateAudioSetting.SetAllAudioAssetBundleName();
                ExcuteBuildAsset("audio", buildParameters);
            }
            else
@@ -125,6 +176,7 @@
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                UpdateShaderSetting.SetAllShaderAssetBundleName();
                ExcuteBuildAsset("graphic", buildParameters);
            }
            else
@@ -147,6 +199,30 @@
            var buildParameters = new BuildParameters();
            if (!buildParameters.error)
            {
                AssetSource.allFromEditor = true;
                //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[21]);
                        break;
                    }
                }
                UpdateSpriteSetting.SetRechargeSkin(rechargePattern);
                AssetDatabase.Refresh();
                UpdateSpritePackingSetting.UpdateAllSpritePackingSetting();
                UpdateSpriteSetting.SetAllSpriteAssetBundleName();
                ExcuteBuildAsset("ui", buildParameters);
            }
            else
@@ -162,16 +238,43 @@
        }
    }
    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.SetAllLuaAssetBundleName();
                ExcuteBuildAsset("builtin", buildParameters);
            }
            else
            {
                EditorApplication.Exit(1);
            }
        }
        catch (Exception ex)
        {
            Debug.Log("打包builtin失败");
            Debug.Log(ex);
            EditorApplication.Exit(1);
        }
    }
    public static void MakeAssetVersionFile()
    {
        try
        {
            var buildParameters = new BuildParameters();
            if (buildParameters.error)
            if (!buildParameters.error)
            {
                var fileInfoes = new List<FileInfo>();
                FileExtersion.GetAllDirectoryFileInfos(buildParameters.outputPath, fileInfoes);
                AssetsVersionMaker.WriteAssetsVersionFile(buildParameters.outputPath, fileInfoes);
                FileExtersion.GetAllDirectoryFileInfos(buildParameters.GetWholeOutPutPath(), fileInfoes);
                AssetsVersionMaker.WriteAssetsVersionFile(buildParameters.GetWholeOutPutPath(), fileInfoes);
            }
            else
            {
@@ -192,14 +295,14 @@
        opt |= BuildAssetBundleOptions.ChunkBasedCompression;
        opt |= BuildAssetBundleOptions.DeterministicAssetBundle;
        AssetBundleBuildExtersion.Build(_params.outputPath, _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()
@@ -226,6 +329,10 @@
                                break;
                        }
                    }
                    else if (arg.ToLower() == "-publisher")
                    {
                        publisher = args[i + 1];
                    }
                }
                error = false;
@@ -238,6 +345,10 @@
            }
        }
        public string GetWholeOutPutPath()
        {
            return StringUtility.Contact(outputPath, "/", buildTarget.ToString().ToLower());
        }
    }
}