Esempio n. 1
0
 protected void DrawDefaultInspector()
 {
     foreach (var field in GetType().GetFields(BindingFlags.Instance | BindingFlags.Public))
     {
         field.SetValue(this, EditorInspectorGUIUtility.GenericField(field.Name, field.GetValue(this), field.FieldType, field, this));
         GUI.backgroundColor = Color.white;
     }
 }
Esempio n. 2
0
        public virtual void ShowNodeInspectorGUI()
        {
            var e = Event.current;

            if ((e.type == EventType.MouseDown || e.type == EventType.MouseUp) && e.button == 0 ||
                e.type == EventType.DragPerform ||
                e.type == EventType.KeyUp)
            {
                Undo.RegisterCompleteObjectUndo(graph, "Node Inspector");
            }

            var descAtt     = GetType().GetAttribute <DescriptionAttribute>(true);
            var description = descAtt != null ? descAtt.description : null;

            if (string.IsNullOrEmpty(description))
            {
                EditorGUILayout.HelpBox(GetType().FriendlyName(), MessageType.Info);
            }
            else
            {
                EditorGUILayout.HelpBox(string.Format("{0} : {1}", GetType().FriendlyName(), description), MessageType.Info);
            }

            GUILayout.BeginHorizontal();
            {
                nodeName      = EditorGUILayout.TextField("Node Name", nodeName);
                NodeNameColor = EditorGUILayout.ColorField(NodeNameColor, GUILayout.Width(30));
            }
            GUILayout.EndHorizontal();
            m_NodeColor = EditorGUILayout.ColorField("Node Color", m_NodeColor);
            OnNodeInspectorGUI();

            if (showOpenScriptBtnInInspector)
            {
                if (GUILayout.Button("Open Node Script"))
                {
                    EditorHelper.OpenScriptOfType(GetType());
                    e.Use();
                }
            }

            nodeComment = EditorGUILayout.TextArea(nodeComment);
            EditorInspectorGUIUtility.TextFieldComment(nodeComment, "Comments...");

            if (GUI.changed)
            {
                nodeRect = new Rect(nodePosition.x, nodePosition.y, m_MinSize.x, m_MinSize.y);
                graph.SetConfigDirty();
            }
        }