コード例 #1
0
        public static void Show(Rect rect, Speech speech, ValidateCallback callback)
        {
            //Close window if already open
            if (window != null)
            {
                Hide();
                return;
            }

            //Open window
            ClipPopup.callback  = callback;
            ClipPopup.voiceUUID = speech.voiceUUID;
            clips  = null;
            error  = Error.None;
            window = CreateInstance <ClipPopup>();
            window.ShowPopup();
            window.minSize      = rect.size;
            window.titleContent = new GUIContent("Voices");
            window.position     = rect;

            //Request clips
            List <string> existingClips = speech.clips.Select(x => x.uuid).ToList();

            APIBridge.GetClips((ResembleClip[] clips, Error error) =>
            {
                ClipPopup.clips = clips.Where(x => x.voice == voiceUUID && !existingClips.Contains(x.uuid)).ToArray();
                ClipPopup.error = error;
                window.Repaint();
            });
        }
コード例 #2
0
 public static void Hide()
 {
     if (window != null)
     {
         window.Close();
         window = null;
     }
 }
コード例 #3
0
        public override void OnInspectorGUI()
        {
            //Init vars
            Event e = Event.current;

            mousePosition = e.mousePosition;

            //Speech properties
            GUILayout.Space(10);
            DrawSpeechProperties();
            GUILayout.Space(10);


            //Select a voice box
            bool noVoice = string.IsNullOrEmpty(speech.voiceUUID);

            if (noVoice)
            {
                EditorGUILayout.HelpBox("Please select a voice.", MessageType.Info);
            }


            //Disable ui if there is no voice selecteds
            EditorGUI.BeginDisabledGroup(noVoice);


            //Rebuild list if needed and draw it
            if (list == null)
            {
                RebuildClipList();
            }
            list.DoLayoutList();


            //Draw commands buttons
            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            EditorGUI.BeginDisabledGroup(list.index < 0);
            deleteButton.DoLayout((Rect r) => { HidePopups(); DeletePopup.Show(r, DeleteClip); });
            EditorGUI.EndDisabledGroup();
            importButton.DoLayout((Rect r) => { HidePopups(); ClipPopup.Show(r, speech, ImportClip); });
            CreateButton.DoLayout((Rect r) => { HidePopups(); StringPopup.Show(r, "New clip name", CreateClip); });
            GUILayout.EndHorizontal();
            EditorGUI.EndDisabledGroup();


            //Draw connected error
            Utils.ConnectionRequireMessage();


            //Keep a constant refresh
            Repaint();
        }
コード例 #4
0
 /// <summary> Ensures that all popup windows that the editor can open are closed. </summary>
 private void HidePopups()
 {
     DeletePopup.Hide();
     ClipPopup.Hide();
     StringPopup.Hide();
 }