private static void FillAddNodes(NodeEditorInputInfo inputInfo, GenericMenu canvasContextMenu) { // Show all nodes, and if a connection is drawn, only compatible nodes to auto-connect NodeEditorState state = inputInfo.editorState; List <Node> displayedNodes = state.connectOutput != null?NodeTypes.getCompatibleNodes(state.connectOutput) : NodeTypes.nodes.Keys.ToList(); foreach (Node compatibleNode in displayedNodes) { canvasContextMenu.AddItem(new GUIContent("Add " + NodeTypes.nodes[compatibleNode].adress), false, CreateNodeCallback, new NodeEditorInputInfo(compatibleNode.GetID, state)); } }
private static void FillAddNodes(NodeEditorInputInfo inputInfo, GenericMenu canvasContextMenu) { // Fill context menu with nodes to add to the canvas NodeEditorState state = inputInfo.editorState; List <string> nodes = NodeTypes.getCompatibleNodes(state.connectKnob); foreach (string node in nodes) { // Only add nodes to the context menu that are compatible if (NodeCanvasManager.CheckCanvasCompability(node, inputInfo.editorState.canvas.GetType()) && inputInfo.editorState.canvas.CanAddNode(node)) { canvasContextMenu.AddItem(new GUIContent("Add " + NodeTypes.getNodeData(node).adress), false, CreateNodeCallback, new NodeEditorInputInfo(node, state)); } } }
private static void FillAddNodes(NodeEditorInputInfo inputInfo, GenericMenu canvasContextMenu) { NodeEditorState editorState = inputInfo.editorState; List <Node> displayedNodes = (!((UnityEngine.Object)editorState.connectOutput != (UnityEngine.Object)null)) ? NodeTypes.nodes.Keys.ToList() : NodeTypes.getCompatibleNodes(editorState.connectOutput); DeCafList(ref displayedNodes, editorState.canvas); foreach (Node item in displayedNodes) { NodeData nodeData = NodeTypes.nodes[item]; canvasContextMenu.AddItem(new GUIContent("Add " + nodeData.adress), false, CreateNodeCallback, new NodeEditorInputInfo(item.GetID, editorState)); } }