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();
        }
Пример #2
0
        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?
        }