This will make it easier to change node text color
Example:
[CustomNodeEditor(typeof(MyNode))]
public class MyNodeEditor : NodeEditor {
private static GUIStyle editorLabelStyle;
public override void OnBodyGUI() {
if (editorLabelStyle == null) editorLabelStyle = new GUIStyle(EditorStyles.label);
EditorStyles.label.normal.textColor = Color.green;
base.OnBodyGUI();
EditorStyles.label.normal = editorLabelStyle.normal;
}
}
Preferences can now be saved with a custom key, and custom default settings can be specified.
Other changes:
XNodeInternal renamed to XNodeEditor.Internal
NodeEditorWindow.graphEditor exposed as public
Internal NodePorts now uses dicts instead of lists. This is faster and more manageable.
Added instance ports.
Added Node.Ports, Node.Outputs, Node.Inputs, Node.InstanceOutputs, Node.InstanceInputs
Changed public GetInputByFieldName to GetInputValue and GetInputPort
Default OnBodyGUI now uses default PropertyFields as suppied by UnityEditor.
This means fields are drawn on nodes the same way as they are drawn in the inspector.
out portPosition has also been moved to a static field. It is set automatically using the NodeEditorGuiLayout methods.
Alternatively, you can alter it manually during your node GUI drawing.
Removal of scripts now also clears dependant nodes, to avoid null objects.
NodePorts now support fallback values.
UI Changes.
node.graph is now serialized as well.