浏览代码

Fix copy/paste for nme

David Catuhe 5 年之前
父节点
当前提交
8eed7a6c1f
共有 1 个文件被更改,包括 4 次插入8 次删除
  1. 4 8
      nodeEditor/src/graphEditor.tsx

+ 4 - 8
nodeEditor/src/graphEditor.tsx

@@ -46,11 +46,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
     private _mouseLocationY = 0;
     private _mouseLocationY = 0;
     private _onWidgetKeyUpPointer: any;
     private _onWidgetKeyUpPointer: any;
 
 
-    /**
-     * Creates a node and recursivly creates its parent nodes from it's input
-     * @param nodeMaterialBlock 
-     */
-    public createNodeFromObject(block: NodeMaterialBlock) {
+    public createNodeFromObject(block: NodeMaterialBlock, recursion = true) {
         if (this._blocks.indexOf(block) !== -1) {        
         if (this._blocks.indexOf(block) !== -1) {        
             return this._graphCanvas.nodes.filter(n => n.block === block)[0];
             return this._graphCanvas.nodes.filter(n => n.block === block)[0];
         }
         }
@@ -68,7 +64,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
         // Connections
         // Connections
         if (block.inputs.length) {
         if (block.inputs.length) {
             for (var input of block.inputs) {
             for (var input of block.inputs) {
-                if (input.isConnected) {
+                if (input.isConnected && recursion) {
                     this.createNodeFromObject(input.sourceBlock!);
                     this.createNodeFromObject(input.sourceBlock!);
                 }
                 }
             }
             }
@@ -78,7 +74,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
         const node = this._graphCanvas.appendBlock(block);
         const node = this._graphCanvas.appendBlock(block);
 
 
         // Links
         // Links
-        if (block.inputs.length) {
+        if (block.inputs.length && recursion) {
             for (var input of block.inputs) {
             for (var input of block.inputs) {
                 if (input.isConnected) {
                 if (input.isConnected) {
                     this._graphCanvas.connectPorts(input.connectedPoint!, input);
                     this._graphCanvas.connectPorts(input.connectedPoint!, input);
@@ -308,7 +304,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
                 return;
                 return;
             }
             }
             
             
-            let newNode = this.createNodeFromObject(clone);
+            let newNode = this.createNodeFromObject(clone, false);
 
 
             let x = 0;
             let x = 0;
             let y = 0;
             let y = 0;