コード例 #1
0
        void Process()
        {
            if (executeUpload)
            {
                executeUpload        = false;
                currentUploadService = null;

                if (!VenueValidator.ValidateVenue(out errorMessage))
                {
                    Debug.LogError(errorMessage);
                    EditorUtility.DisplayDialog("Cluster Creator Kit", errorMessage, "閉じる");
                    return;
                }

                ItemIdAssigner.AssignItemId();
                ItemTemplateIdAssigner.Execute();
                LayerCorrector.CorrectLayer();

                try
                {
                    AssetExporter.ExportCurrentSceneResource(venue.VenueId.Value, false); //Notice UnityPackage が大きくなりすぎてあげれないので一旦やめる
                }
                catch (Exception e)
                {
                    errorMessage = $"現在のSceneのUnityPackage作成時にエラーが発生しました。 {e.Message}";
                    return;
                }

                currentUploadService = new UploadVenueService(
                    userInfo.VerifiedToken,
                    venue,
                    completionResponse =>
                {
                    errorMessage   = "";
                    worldDetailUrl = completionResponse.Url;
                    if (EditorPrefsUtils.OpenWorldManagementPageAfterUpload)
                    {
                        Application.OpenURL(worldManagementUrl);
                    }
                },
                    exception =>
                {
                    Debug.LogException(exception);
                    errorMessage = $"ワールドのアップロードに失敗しました。時間をあけてリトライしてみてください。";
                    EditorWindow.GetWindow <VenueUploadWindow>().Repaint();
                });
                currentUploadService.Run();
                errorMessage = null;
            }
        }
コード例 #2
0
        void Process()
        {
            if (executeUpload)
            {
                executeUpload        = false;
                currentUploadService = null;

                if (!VenueValidator.ValidateVenue(out errorMessage, out var invalidObjects))
                {
                    EditorUtility.DisplayDialog("Cluster Creator Kit", errorMessage, "閉じる");
                    if (invalidObjects.Any())
                    {
                        foreach (var invalidObject in invalidObjects)
                        {
                            Debug.LogError(errorMessage, invalidObject);
                            EditorGUIUtility.PingObject(invalidObject);
                        }
                    }
                    else
                    {
                        Debug.LogError(errorMessage);
                    }
                    Selection.objects = invalidObjects.ToArray();
                    return;
                }

                ItemIdAssigner.AssignItemId();
                ItemTemplateIdAssigner.Execute();
                LayerCorrector.CorrectLayer();

                try
                {
                    AssetExporter.ExportCurrentSceneResource(venue.VenueId.Value, false); //Notice UnityPackage が大きくなりすぎてあげれないので一旦やめる
                }
                catch (Exception e)
                {
                    errorMessage = $"現在のSceneのUnityPackage作成時にエラーが発生しました。 {e.Message}";
                    return;
                }

                currentUploadService = new UploadVenueService(
                    userInfo.VerifiedToken,
                    venue,
                    completionResponse =>
                {
                    errorMessage   = "";
                    worldDetailUrl = completionResponse.Url;
                    if (EditorPrefsUtils.OpenWorldManagementPageAfterUpload)
                    {
                        Application.OpenURL(worldManagementUrl);
                    }
                },
                    exception =>
                {
                    Debug.LogException(exception);
                    EditorWindow.GetWindow <VenueUploadWindow>().Repaint();
                    if (exception is FileNotFoundException)
                    {
                        errorMessage = $"ワールドのアップロードに失敗しました。必要なBuild Supportが全てインストールされているか確認してください。";
                        var ok       = EditorUtility.DisplayDialog("ビルドに失敗しました", "必要なBuild Supportが全てインストールされているか確認してください。", "詳細を開く", "閉じる");
                        if (ok)
                        {
                            Application.OpenURL("https://clustervr.gitbook.io/creatorkit/installation/install-unity");
                        }
                    }
                    else
                    {
                        errorMessage = $"ワールドのアップロードに失敗しました。時間をあけてリトライしてみてください。";
                    }
                });
                currentUploadService.Run();
                errorMessage = null;
            }
        }