public void OnGUI()
        {
            GUILayout.Space(20);
            GUILayout.BeginHorizontal();
            {
                GUILayout.Space(20);
                switch (nodeType)
                {
                case NodeType.Math:
                case NodeType.Fetch:
                case NodeType.Function:
                    EditorGUILayout.LabelField("Type: ", EditorStyles.boldLabel, GUILayout.Width(80));
                    selectedIndex.x = EditorGUILayout.Popup((int)selectedIndex.x, posInp.ToArray(), GUILayout.Width(80));

                    if (nodeCount > 0)
                    {
                        GUILayout.EndHorizontal();
                        GUILayout.Space(6);
                        GUILayout.BeginHorizontal();
                        GUILayout.Space(20);
                        EditorGUILayout.LabelField("Num Pins:", EditorStyles.boldLabel, GUILayout.Width(80));
                        nodeCount = StaticMethods.Clamp(EditorGUILayout.IntField(nodeCount, GUILayout.Width(80)), 2, 16);
                    }
                    break;

                case NodeType.Control:
                    EditorGUILayout.LabelField("From: ", EditorStyles.boldLabel /*, GUILayout.Width(80)*/);
                    selectedIndex.x = EditorGUILayout.Popup((int)selectedIndex.x, posInp.ToArray());
                    EditorGUILayout.LabelField("To: ", EditorStyles.boldLabel /*, GUILayout.Width(80)*/);
                    selectedIndex.y = EditorGUILayout.Popup((int)selectedIndex.y,
                                                            ControlNode.castables[posInp[(int)selectedIndex.x]].ToArray());
                    break;
                }
                GUILayout.Space(20);
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(6);
            GUILayout.BeginHorizontal();
            {
                GUILayout.Space(20);
                if (GUILayout.Button("Create"))
                {
                    CreateNode();
                }
                GUILayout.Space(10);
                if (GUILayout.Button("Cancel"))
                {
                    Instance.Close();
                }
                GUILayout.Space(20);
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(20);
            Repaint();
        }