Пример #1
0
        void ShowNeuralNetPopupGroup(string[] neuralNetsArray)
        {
            ShowNeuralNetPopup(neuralNetsArray);

            // + button
            if (GUILayout.Button(duplicateButtonContent, EditorStyles.miniButtonMid, miniButtonWidth))
            {
                newNeuralNetName = "";
                GUI.FocusControl("Clear");
                neuralNetGUIMode = NeuralNetGUIMode.EnterNewNetName;
            }

            // - button
            if (GUILayout.Button(deleteButtonContent, EditorStyles.miniButtonRight, miniButtonWidth))
            {
                if (ShowNeuralNetDeleteDialog(vrGestureManager.currentNeuralNet))
                {
                    vrGestureManager.DeleteNeuralNet(vrGestureManager.currentNeuralNet);
                    if (vrGestureManager.neuralNets.Count > 0)
                    {
                        selectedNeuralNetIndex = 0;
                    }
                }
            }
        }
Пример #2
0
 void ShowNeuralNetCreateNewOptions()
 {
     newNeuralNetName = EditorGUILayout.TextField(newNeuralNetName);
     if (GUILayout.Button("Create Network"))
     {
         if (string.IsNullOrEmpty(newNeuralNetName))
         {
             EditorUtility.DisplayDialog("Please give the new neural network a name", " ", "ok");
         }
         else if (vrGestureManager.CheckForDuplicateNeuralNetName(newNeuralNetName))
         {
             EditorUtility.DisplayDialog(
                 "The name " + newNeuralNetName + " is already being used, " +
                 "please name it something else.", " ", "ok"
                 );
         }
         else
         {
             vrGestureManager.CreateNewNeuralNet(newNeuralNetName);
             //This is incorrect because the list will always be sorted alphabetically
             //We need to find the list in alphbetical order.
             List <string> sortedList = new List <string>(vrGestureManager.neuralNets);
             sortedList.Sort(
                 delegate(String s1, String s2)
             {
                 return(s1.CompareTo(s2));
             }
                 );
             selectedNeuralNetIndex = sortedList.IndexOf(newNeuralNetName);
             neuralNetGUIMode       = NeuralNetGUIMode.ShowPopup;
         }
     }
 }
        void ShowNeuralNets()
        {
            // must refresh the neural net list every OnGUI
            // to detect when the neural nets have been deleted from the folder
            gestureSettings.RefreshNeuralNetList();

            string[] neuralNetsArray = GetNeuralNetsList();

            //if (neuralNetsArray.Length == 0)

            // STATE CONTROL
            if (neuralNetGUIMode == NeuralNetGUIMode.EnterNewNetName)
            {
                EditorGUILayout.LabelField("NAME THE NEW NEURAL NET");
                ShowNeuralNetCreateNewOptions();
                if (GUILayout.Button("Back"))
                {
                    neuralNetGUIMode = NeuralNetGUIMode.None;
                }
            }
            else if (neuralNetsArray.Length == 0) // if the neural nets list is empty show a big + button
            {
                EditorGUILayout.LabelField("CREATE A NEW NEURAL NET");
                neuralNetGUIMode = NeuralNetGUIMode.None;
            }
            else // draw the popup and little plus and minus buttons
            {
                neuralNetGUIMode = NeuralNetGUIMode.ShowPopup;
            }

            // RENDER
            GUILayout.BeginHorizontal();
            switch (neuralNetGUIMode)
            {
            case (NeuralNetGUIMode.None):
                // PLUS + BUTTON
                if (GUILayout.Button(neuralNetNoneButtonContent))
                {
                    newNeuralNetName = "";
                    GUI.FocusControl("Clear");
                    neuralNetGUIMode = NeuralNetGUIMode.EnterNewNetName;
                    newNeuralNetName = "";
                    GUILayout.EndHorizontal();
                }
                break;

            // NEURAL NET POPUP
            case (NeuralNetGUIMode.ShowPopup):
                ShowNeuralNetPopupGroup(neuralNetsArray);
                GUILayout.EndHorizontal();
                ShowNeuralNetTrainedGestures();
                break;
            }
        }
Пример #4
0
        void ShowNeuralNets()
        {
            EditorGUILayout.LabelField("NEURAL NETWORK");

            string[] neuralNetsArray = GetNeuralNetsList();

            // STATE CONTROL
            if (neuralNetGUIMode == NeuralNetGUIMode.EnterNewNetName)
            {
                ShowNeuralNetCreateNewOptions();
            }
            else if (neuralNetsArray.Length == 0) // if the neural nets list is empty show a big + button
            {
                neuralNetGUIMode = NeuralNetGUIMode.None;
            }
            else // draw the popup and little plus and minus buttons
            {
                neuralNetGUIMode = NeuralNetGUIMode.ShowPopup;
            }

            // RENDER
            GUILayout.BeginHorizontal();
            switch (neuralNetGUIMode)
            {
            case (NeuralNetGUIMode.None):
                // PLUS + BUTTON
                if (GUILayout.Button(neuralNetNoneButtonContent))
                {
                    newNeuralNetName = "";
                    GUI.FocusControl("Clear");
                    neuralNetGUIMode = NeuralNetGUIMode.EnterNewNetName;
                    newNeuralNetName = "";
                    GUILayout.EndHorizontal();
                }
                break;

            // NEURAL NET POPUP
            case (NeuralNetGUIMode.ShowPopup):
                ShowNeuralNetPopupGroup(neuralNetsArray);
                GUILayout.EndHorizontal();
                ShowNeuralNetTrainedGestures();
                break;
            }
        }