private void ExecuteBuild() { foreach (BuildProfileTable profile in buildProfiles) { if (!profile.Enabled) { continue; } if (!PreBuildChecks.Check(profile)) { BuildFailed(); return; } // We want to shut down the process if its already running if (killOldProcesses) { CheckIfProcessRunning(profile); } if (eraseDirectory) { FileUtil.DeleteFileOrDirectory(profile.ScriptableObject.directory); } string buildFullLocation = profile.ScriptableObject.directory + profile.ScriptableObject.executableName + SetExecutableExtension.Get(profile.ScriptableObject.platform); BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions { locationPathName = buildFullLocation, //options = profile.ScriptableObject.buildOptions, scenes = profile.ScriptableObject.sceneDirectories, //target = ConvertToUnityBuildTarget.Convert(profile.ScriptableObject.platform) target = BuildTarget.StandaloneWindows64 }; BuildReport buildReport = BuildPipeline.BuildPlayer(buildPlayerOptions); BuildSummary summary = buildReport.summary; if (summary.result == BuildResult.Succeeded) { BuildSucceeded(summary, buildFullLocation, profile.ScriptableObject.args); AddCompletedBuild(profile); } } }
public void Play() { Debug.Log("Launching " + BuildProfile.name); string buildFullLocation = BuildProfile.directory + BuildProfile.executableName + SetExecutableExtension.Get(BuildProfile.platform); Process proc = new Process(); proc.StartInfo.FileName = buildFullLocation; proc.StartInfo.Arguments = BuildProfile.args; proc.Start(); }