Пример #1
0
        //The inspector of the node shown in the editor panel or else.
        static public void ShowNodeInspectorGUI(Node node)
        {
            UndoManager.CheckUndo(node.graph, "Node Inspector");

            if (Prefs.showNodeInfo)
            {
                GUI.backgroundColor = Colors.lightBlue;
                EditorGUILayout.HelpBox(node.description, MessageType.None);
                GUI.backgroundColor = Color.white;
            }

            GUILayout.BeginHorizontal();
            if (!node.showIcon && node.allowAsPrime)
            {
                node.customName = EditorGUILayout.TextField(node.customName);
                EditorUtils.TextFieldComment(node.customName, "Name...");
            }

            node.tag = EditorGUILayout.TextField(node.tag);
            EditorUtils.TextFieldComment(node.tag, "Tag...");

            if (!node.hasColorAttribute)
            {
                node.nodeColor = EditorGUILayout.ColorField(node.nodeColor, GUILayout.Width(30));
            }

            GUILayout.EndHorizontal();

            GUI.color     = new Color(1, 1, 1, 0.5f);
            node.comments = EditorGUILayout.TextArea(node.comments);
            GUI.color     = Color.white;
            EditorUtils.TextFieldComment(node.comments, "Comments...");

            EditorUtils.Separator();
            node.OnNodeInspectorGUI();
            TaskAssignableGUI(node);

            if (GUI.changed)
            {
                //minimize node so that GUILayour brings it back to correct scale
                node.rect = new Rect(node.rect.x, node.rect.y, Node.MIN_SIZE.x, Node.MIN_SIZE.y);
            }

            UndoManager.CheckDirty(node.graph);
        }