private static void ZipAndShare(string title, string buildPath, Store <AppState> store) { store.Dispatch(new TitleChangeAction { title = title }); if (!ShareUtils.BuildIsValid(buildPath)) { store.Dispatch(new OnErrorAction { errorMsg = "Please build project first!" }); return; } if (!Zip(store, buildPath)) { return; } string GUIDPath = Path.Combine(buildPath, "GUID.txt"); if (File.Exists(GUIDPath)) { store.Dispatch(new UploadStartAction() { buildGUID = File.ReadAllText(GUIDPath) }); return; } Debug.LogWarningFormat("Missing GUID file for {0}, consider deleting the build and making a new one through the WebGL Publisher", buildPath); store.Dispatch(new UploadStartAction() { buildGUID = UndefinedGUID }); }
void OnLocateBuildClicked() { AnalyticsHelper.ButtonClicked(string.Format("{0}_LocateBuild", currentTab)); string previousBuildPath = ShareUtils.GetFirstValidBuildPath(); string buildPath = EditorUtility.OpenFolderPanel("Choose folder", string.IsNullOrEmpty(previousBuildPath) ? Application.persistentDataPath : previousBuildPath, string.Empty); if (string.IsNullOrEmpty(buildPath)) { return; } if (!ShareUtils.BuildIsValid(buildPath)) { Store.Dispatch(new OnErrorAction() { errorMsg = "This build is corrupted or missing, please delete it and choose another one to share" }); return; } ShareUtils.AddBuildDirectory(buildPath); if (currentTab != TAB_UPLOAD) { return; } SetupUploadTab(); }
void OnShareClicked(string gameBuildPath) { AnalyticsHelper.ButtonClicked(string.Format("{0}_Publish", currentTab)); if (!ShareUtils.BuildIsValid(gameBuildPath)) { Store.Dispatch(new OnErrorAction() { errorMsg = "This build is corrupted or missing, please delete it and choose another one to publish" }); return; } Store.Dispatch(new ShareStartAction() { title = gameTitle, buildPath = gameBuildPath }); }
void SetupBuildContainer(VisualElement container, string buildPath) { if (ShareUtils.BuildIsValid(buildPath)) { string gameTitle = buildPath.Split('/').Last(); SetupButton("btnOpenFolder", () => OnOpenBuildFolderClicked(buildPath), true, container, "Reveal Build Folder"); SetupButton("btnDelete", () => OnDeleteClicked(buildPath, gameTitle), true, container, "Delete Build"); SetupButton("btnShare", () => OnShareClicked(buildPath), true, container, "Publish WebGL Build to Unity Connect"); SetupLabel("lblLastBuildInfo", string.Format("Created: {0} with Unity {1}", File.GetLastWriteTime(buildPath), ShareUtils.GetUnityVersionOfBuild(buildPath)), container); SetupLabel("lblGameTitle", gameTitle, container); SetupLabel("lblBuildSize", string.Format("Build Size: {0}", ShareUtils.FormatBytes(ShareUtils.GetSizeFolderSize(buildPath))), container); container.style.display = DisplayStyle.Flex; return; } SetupButton("btnOpenFolder", null, false, container); SetupButton("btnDelete", null, false, container); SetupButton("btnShare", null, false, container); SetupLabel("lblGameTitle", "-", container); SetupLabel("lblLastBuildInfo", "-", container); container.style.display = DisplayStyle.None; }
void OnLocateBuildClicked() { AnalyticsHelper.ButtonClicked(string.Format("{0}_LocateBuild", currentTab)); string lastBuildPath = ShareUtils.GetFirstValidBuildPath(); if (string.IsNullOrEmpty(lastBuildPath) && ShareBuildProcessor.CreateDefaultBuildsFolder) { lastBuildPath = ShareBuildProcessor.DefaultBuildsFolderPath; if (!Directory.Exists(lastBuildPath)) { Directory.CreateDirectory(lastBuildPath); } } string buildPath = EditorUtility.OpenFolderPanel("Choose folder", lastBuildPath, string.Empty); if (string.IsNullOrEmpty(buildPath)) { return; } if (!ShareUtils.BuildIsValid(buildPath)) { Store.Dispatch(new OnErrorAction() { errorMsg = "This build is corrupted or missing, please delete it and choose another one to share" }); return; } ShareUtils.AddBuildDirectory(buildPath); if (currentTab != TAB_UPLOAD) { return; } SetupUploadTab(); }