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