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(); }