From e17e9a8ba1921f00cf27597b736715e46a1eee2d Mon Sep 17 00:00:00 2001 From: ZLX Date: Fri, 11 Jun 2021 13:41:34 +0800 Subject: [PATCH] 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