/// <summary> /// save hotfixUrl and hotfix macro /// </summary> /// <param name="para"></param> /// <returns></returns> private static bool HandleHotFix(GameBuilderParameter para) { if (para.EnableHotFix) { var url = para.HotFixUrl; if (String.IsNullOrEmpty(url)) { Debug.LogError("BuildGame HotFixUrl is empty"); return(false); } FileUtils.WriteFile(GameConst.GameResourceRootDir + "/" + VersionConst.CustomSeverUrlFileName, url); url = FileUtils.RemoveLastSeparator(url); FileUtils.DelFile(GameConst.GameResourceRootDir + "/" + VersionConst.CustomSeverUrlFileName); FileUtils.WriteFile(GameConst.GameResourceRootDir + "/" + VersionConst.CustomSeverUrlFileName, url); para.MacroDefines = BuilderEditorUtils.RemoveMacro(para.MacroDefines, BuilderEditorUtils.NoHotFixMacro); para.MacroDefines = BuilderEditorUtils.AddMacro(para.MacroDefines, BuilderEditorUtils.CustomServerHotFixMacro); } else { para.MacroDefines = BuilderEditorUtils.RemoveMacro(para.MacroDefines, BuilderEditorUtils.CustomServerHotFixMacro); para.MacroDefines = BuilderEditorUtils.AddMacro(para.MacroDefines, BuilderEditorUtils.NoHotFixMacro); } return(true); }
/// <summary> /// 构建设置 /// </summary> /// <param name="para"></param> private static void SetupSetting(GameBuilderParameter para) { Debug.Log("SetupSetting"); BuildTarget buildTarget = para.BuildTarget; BuildTargetGroup buildTargetGroup = PlatformEditorUtils.GetSelectedBuildTargetGroup(buildTarget); //EditorUserBuildSettings.SwitchActiveBuildTarget(buildTargetGroup, buildTarget); EditorUserBuildSettings.SwitchActiveBuildTarget(buildTarget); // 仅当有出包时才处理 if (para.BuildMode != BuildMode.Patch) { // 版本号 PlayerSettings.bundleVersion = para.BuildVersion.GetVersionString(); //PlayerSettings.applicationIdentifier = para.BundleIdentifier; if (buildTarget == BuildTarget.Android) { PlayerSettings.Android.bundleVersionCode = para.BuildVersion.GetVersionCode(); if (para.ExportProject) { EditorUserBuildSettings.androidBuildSystem = para.UseGradle ? AndroidBuildSystem.Gradle : AndroidBuildSystem.ADT; } else { EditorUserBuildSettings.androidBuildSystem = AndroidBuildSystem.Internal; } } else if (buildTarget == BuildTarget.iOS) { PlayerSettings.iOS.buildNumber = para.BuildVersion.GetVersionCode().ToString(); } //-如果是多线程渲染版本开启多线程渲染-// //PlayerSettings.SetMobileMTRendering(buildTargetGroup, para.Multithreaded); PlayerSettings.MTRendering = para.Multithreaded; //-打包之前先设置一下 预定义标签, 这时设置的宏,后面的代码不能马上生效,但BuildPlayer可以生效 string macroDefines = para.MacroDefines; if (!String.IsNullOrEmpty(macroDefines)) { macroDefines = para.UseMono2X ? BuilderEditorUtils.AddMacro(macroDefines, "USE_MONO") : BuilderEditorUtils.RemoveMacro(macroDefines, "USE_MONO"); PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, macroDefines); } DoMonoSetting(para.UseMono2X, buildTargetGroup); } }