using System.Net.Http; using Needle.Engine.Core; using UnityEngine; using Task = System.Threading.Tasks.Task; namespace Needle.Engine.Deployment { public static class DeploymentActions { public static void RemixAndOpenGlitchTemplate() { Application.OpenURL(DeployToGlitchUtils.TemplateRemixUrl); } public static async void BuildAndDeployAsync(string directory, string projectName, string secret, BuildContext buildContext, bool open = false) { var prevSetting = UseGizp.Enabled; try { UseGizp.Enabled = true; if (await Actions.ExportAndBuild(buildContext)) { await Task.Delay(2000); DeployAsync(directory, projectName, secret, buildContext, open); } } finally { UseGizp.Enabled = prevSetting; } } public static async void DeployAsync(string directory, string projectName, string secret, BuildContext buildContext, bool open = false) { var success = await DeployToGlitchUtils.Deploy(directory, projectName, secret); if (open && success) { await Task.Delay(2000); Application.OpenURL(DeployToGlitchUtils.GetProjectUrl(projectName)); } } public static void OpenInBrowser(GlitchModel model) { Application.OpenURL(DeployToGlitchUtils.GetProjectUrl(model.ProjectName)); } } }