コード例 #1
0
        void ShowBuildAvatarUI()
        {
            EditorGUILayout.LabelField("Avatar", EditorStyles.boldLabel);

            avatarGameObject =
                EditorGUILayout.ObjectField("Avatar", avatarGameObject, typeof(GameObject), true) as GameObject;
            EditorGUILayout.Space();
            avatarName      = EditorGUILayout.TextField("Avatar name", avatarName);
            thumbnailCamera =
                EditorGUILayout.ObjectField("Thumbnail camera", thumbnailCamera, typeof(Camera), true) as Camera;

            ShowThumbnail();

            var canExport = false;

            if (avatarGameObject != null && IsLoggedIn && !string.IsNullOrEmpty(avatarName))
            {
                canExport      = true;
                exportSettings = new VRMExportSettings();
                exportSettings.InitializeFrom(avatarGameObject);

                if (string.IsNullOrEmpty(exportSettings.Title))
                {
                    exportSettings.Title = avatarName;
                }

                if (string.IsNullOrEmpty(exportSettings.Author))
                {
                    exportSettings.Author = Username;
                }

                foreach (var error in exportSettings.CanExport())
                {
                    canExport = false;
                    CreateMessage(new Message(error, MessageType.Error));
                }
            }

            canBuildAvatar = IsLoggedIn &&
                             !string.IsNullOrEmpty(VerifiedToken) &&
                             !string.IsNullOrEmpty(avatarName) &&
                             thumbnailCamera != null &&
                             canExport;

            EditorGUI.BeginDisabledGroup(!canBuildAvatar || isProcessing);
            if (GUILayout.Button("Build"))
            {
                BuildVRM();
            }

            if (canUploadAvatar)
            {
                if (GUILayout.Button("Open test room"))
                {
                    GetWindow <PreviewLauncherWindow>("Open test room");
                }
            }

            EditorGUI.EndDisabledGroup();
        }
コード例 #2
0
        void ShowBuildAvatarUI()
        {
            EditorGUILayout.LabelField("Avatar", EditorStyles.boldLabel);

            avatarGameObject =
                EditorGUILayout.ObjectField("Avatar", avatarGameObject, typeof(GameObject), true) as GameObject;
            EditorGUILayout.Space();
            avatarName      = EditorGUILayout.TextField("Avatar name", avatarName);
            thumbnailCamera =
                EditorGUILayout.ObjectField("Thumbnail camera", thumbnailCamera, typeof(Camera), true) as Camera;

            ShowThumbnail();

            var canExport = false;

            if (avatarGameObject != null && tokenAuth.reactiveUserInfo.Val.HasValue && !string.IsNullOrEmpty(avatarName))
            {
                var userInfo = tokenAuth.reactiveUserInfo.Val.Value;

                canExport      = true;
                exportSettings = new VRMExportSettings();
                exportSettings.InitializeFrom(avatarGameObject);

                if (string.IsNullOrEmpty(exportSettings.Title))
                {
                    exportSettings.Title = avatarName;
                }

                if (string.IsNullOrEmpty(exportSettings.Author))
                {
                    exportSettings.Author = userInfo.Username;
                }

                foreach (var error in exportSettings.CanExport())
                {
                    canExport = false;
                    messages.Add(new Message(error, MessageType.Error));
                }
            }

            canBuildAvatar = tokenAuth.reactiveUserInfo.Val.HasValue &&
                             !string.IsNullOrEmpty(avatarName) &&
                             thumbnailCamera != null &&
                             canExport;

            EditorGUI.BeginDisabledGroup(!canBuildAvatar || isProcessing);
            if (GUILayout.Button("Build") && tokenAuth.reactiveUserInfo.Val.HasValue)
            {
                BuildVRM(tokenAuth.reactiveUserInfo.Val.Value);
            }

            EditorGUI.EndDisabledGroup();
        }