From a3f1394078dc3ef15e5904815703c84d0053881a Mon Sep 17 00:00:00 2001 From: ZLX Date: Fri, 11 Jun 2021 13:35:52 +0800 Subject: [PATCH 1/2] Compatible with C# 4.0 language feature. --- Scripts/Editor/NodeEditorGUI.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/Editor/NodeEditorGUI.cs b/Scripts/Editor/NodeEditorGUI.cs index ca726d5..70c4cd1 100755 --- a/Scripts/Editor/NodeEditorGUI.cs +++ b/Scripts/Editor/NodeEditorGUI.cs @@ -115,7 +115,7 @@ namespace XNodeEditor { foreach (var port in hoveredPort.GetConnections()) { var name = port.node.name; var index = hoveredPort.GetConnectionIndex(port); - contextMenu.AddItem(new GUIContent($"Disconnect({name})"), false, () => hoveredPort.Disconnect(index)); + contextMenu.AddItem(new GUIContent(string.Format("Disconnect({0})", name)), false, () => hoveredPort.Disconnect(index)); } contextMenu.AddItem(new GUIContent("Clear Connections"), false, () => hoveredPort.ClearConnections()); //Get compatible nodes with this port From e17e9a8ba1921f00cf27597b736715e46a1eee2d Mon Sep 17 00:00:00 2001 From: ZLX Date: Fri, 11 Jun 2021 13:41:34 +0800 Subject: [PATCH 2/2] Fix node order in AddContextMenuItems with filter --- Scripts/Editor/NodeGraphEditor.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Scripts/Editor/NodeGraphEditor.cs b/Scripts/Editor/NodeGraphEditor.cs index 9b80df0..b6198ca 100644 --- a/Scripts/Editor/NodeGraphEditor.cs +++ b/Scripts/Editor/NodeGraphEditor.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Linq; using UnityEditor; using UnityEngine; @@ -67,14 +66,15 @@ namespace XNodeEditor { public virtual void AddContextMenuItems(GenericMenu menu, Type compatibleType = null, XNode.NodePort.IO direction = XNode.NodePort.IO.Input) { Vector2 pos = NodeEditorWindow.current.WindowToGridPosition(Event.current.mousePosition); - Type[] nodeTypes = NodeEditorReflection.nodeTypes.OrderBy(type => GetNodeMenuOrder(type)).ToArray(); + Type[] nodeTypes; if (compatibleType != null && NodeEditorPreferences.GetSettings().createFilter) { - nodeTypes = NodeEditorUtilities.GetCompatibleNodesTypes(NodeEditorReflection.nodeTypes, compatibleType, direction).ToArray(); + nodeTypes = NodeEditorUtilities.GetCompatibleNodesTypes(NodeEditorReflection.nodeTypes, compatibleType, direction).OrderBy(GetNodeMenuOrder).ToArray(); + } else { + nodeTypes = NodeEditorReflection.nodeTypes.OrderBy(GetNodeMenuOrder).ToArray(); } for (int i = 0; i < nodeTypes.Length; i++) { - Type type = nodeTypes[i]; //Get node context menu path