/// <summary> /// Build method for CUI(-executeMethod option). /// </summary> protected static void Build() { var arguments = ProjectBuilderUtil.GetBuilderFromExecuteArgument(); ProjectBuilderUtil.StartBuild(arguments, false, false); }
/// <summary> /// BuildPipelineによるビルドを実行します. /// </summary> /// <returns>ビルドに成功していればtrueを、それ以外はfalseを返す.</returns> /// <param name="autoRunPlayer">Build & Runモードでビルドします.</param> public virtual bool BuildPlayer(bool autoRunPlayer) { if (_buildAssetBundle && !BuildAssetBundles()) { return(false); } if (_buildApplication) { // Exclude directories. ExcludeBuildDirectoriesUtil.ExcludeDirectories(_excludeDirectories); // Build options. BuildOptions opt = _developmentBuild ? (BuildOptions.Development & BuildOptions.AllowDebugging) : BuildOptions.None | (autoRunPlayer ? BuildOptions.AutoRunPlayer : BuildOptions.None); // Scenes to build. string[] scenesToBuild = EditorBuildSettings.scenes.Where(x => x.enabled).Select(x => x.path).ToArray(); UnityEngine.Debug.Log(kLogType + "Scenes to build : " + scenesToBuild.Aggregate((a, b) => a + ", " + b)); string outputFullPath = BuildPathUtils.GetOutputPath(this); if (Directory.Exists(outputFullPath)) { Directory.Delete(outputFullPath, true); } if (File.Exists(outputFullPath)) { File.Delete(outputFullPath); } // Start build. UnityEngine.Debug.Log(kLogType + "BuildPlayer is started. Defined symbols : " + PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup)); var buildReport = BuildPipeline.BuildPlayer(scenesToBuild, outputFullPath, ActualBuildTarget, opt); // Revert excluded directories. ExcludeBuildDirectoriesUtil.RevertExcludedDirectory(); if (buildReport.summary.result == BuildResult.Succeeded) { UnityEngine.Debug.LogFormat(kLogType + "BuildPlayer is finished successful : {0}", outputFullPath); if (_openBuildPathAfterBuild) { ProjectBuilderUtil.RevealOutputInFinder(outputFullPath); } } else { UnityEngine.Debug.LogErrorFormat(kLogType + "BuildPlayer is failed : {0}", buildReport); return(false); } return(true); } return(false); }