| | |
| | | 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);
|
| | | }
|
| | |
| | |
|
| | | 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
|
| | | {
|
| | |
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | Debug.Log("打包NPC模型失败");
|
| | | Debug.Log("打包NPC模型 特效 shader失败");
|
| | | Debug.Log(ex);
|
| | | EditorApplication.Exit(1);
|
| | | }
|
| | |
| | | {
|
| | | UpdateScriptableObjectsSetting.SetAllScriptableObjectAssetBundleName();
|
| | | ExcuteBuildAsset("config", buildParameters);
|
| | | TableTool.ReadAllTxtToBytes(StringUtility.Contact(buildParameters.GetWholeOutPutPath(), "/config"));
|
| | | TableTool.CopyConfigsToOutPutPath(StringUtility.Contact(buildParameters.GetWholeOutPutPath(), "/config"));
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | {
|
| | | UpdateAudioSetting.SetAllAudioAssetBundleName();
|
| | | ExcuteBuildAsset("audio", buildParameters);
|
| | |
|
| | | // UpdateVideoSetting.SetAllVideoAssetBundleName();
|
| | | // ExcuteBuildAsset("video", buildParameters);
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | 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()
|
| | |
| | | //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);
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | }
|
| | | } |
| | | |
| | | 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()
|
| | |
| | | case "ios":
|
| | | buildTarget = BuildTarget.iOS;
|
| | | break;
|
| | | case "standalone":
|
| | | buildTarget = BuildTarget.StandaloneWindows;
|
| | | break;
|
| | | }
|
| | | }
|
| | | else if (arg.ToLower() == "-publisher")
|
| | | {
|
| | | publisher = args[i + 1];
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | 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;
|
| | | }
|
| | | }
|
| | | } |
| | | |