コード例 #1
0
        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
            });
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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
            });
        }
コード例 #4
0
        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;
        }
コード例 #5
0
        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();
        }