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(); }
public NodeToolTipView(object parent, string toolTip) : base("Tooltip") { this.parent = parent; text = toolTip; style = skin.label; style.padding = new RectOffset(6, 6, 7, 7); style.wordWrap = true; float w = StaticMethods.Clamp(style.CalcSize(new GUIContent(toolTip)).x, 1, 200); size = new Vector2(w, style.CalcHeight(new GUIContent(toolTip), w)); delay = /*80f*/ 5; // why does this throttle? }