David Catuhe пре 6 година
родитељ
комит
1016da8d13

+ 7 - 0
Playground/babylon.d.txt

@@ -51693,6 +51693,13 @@ declare module BABYLON {
          */
         build(state: NodeMaterialBuildState, contextSwitched?: boolean): boolean;
         /**
+         * Clone the current block to a new identical block
+         * @param scene defines the hosting scene
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a copy of the current block
+         */
+        clone(scene: Scene, rootUrl?: string): Nullable<NodeMaterialBlock>;
+        /**
          * Serializes this block in a JSON representation
          * @returns the serialized block object
          */

+ 7 - 0
dist/preview release/babylon.d.ts

@@ -52494,6 +52494,13 @@ declare module BABYLON {
          */
         build(state: NodeMaterialBuildState, contextSwitched?: boolean): boolean;
         /**
+         * Clone the current block to a new identical block
+         * @param scene defines the hosting scene
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a copy of the current block
+         */
+        clone(scene: Scene, rootUrl?: string): Nullable<NodeMaterialBlock>;
+        /**
          * Serializes this block in a JSON representation
          * @returns the serialized block object
          */

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
dist/preview release/babylon.js


Разлика између датотеке није приказан због своје велике величине
+ 65 - 46
dist/preview release/babylon.max.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
dist/preview release/babylon.max.js.map


+ 14 - 0
dist/preview release/babylon.module.d.ts

@@ -54940,6 +54940,13 @@ declare module "babylonjs/Materials/Node/nodeMaterialBlock" {
          */
         build(state: NodeMaterialBuildState, contextSwitched?: boolean): boolean;
         /**
+         * Clone the current block to a new identical block
+         * @param scene defines the hosting scene
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a copy of the current block
+         */
+        clone(scene: Scene, rootUrl?: string): Nullable<NodeMaterialBlock>;
+        /**
          * Serializes this block in a JSON representation
          * @returns the serialized block object
          */
@@ -116873,6 +116880,13 @@ declare module BABYLON {
          */
         build(state: NodeMaterialBuildState, contextSwitched?: boolean): boolean;
         /**
+         * Clone the current block to a new identical block
+         * @param scene defines the hosting scene
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a copy of the current block
+         */
+        clone(scene: Scene, rootUrl?: string): Nullable<NodeMaterialBlock>;
+        /**
          * Serializes this block in a JSON representation
          * @returns the serialized block object
          */

+ 7 - 0
dist/preview release/documentation.d.ts

@@ -52494,6 +52494,13 @@ declare module BABYLON {
          */
         build(state: NodeMaterialBuildState, contextSwitched?: boolean): boolean;
         /**
+         * Clone the current block to a new identical block
+         * @param scene defines the hosting scene
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a copy of the current block
+         */
+        clone(scene: Scene, rootUrl?: string): Nullable<NodeMaterialBlock>;
+        /**
          * Serializes this block in a JSON representation
          * @returns the serialized block object
          */

+ 1 - 0
dist/preview release/nodeEditor/babylon.nodeEditor.d.ts

@@ -931,6 +931,7 @@ declare module NODEEDITOR {
         private _nodes;
         private _blocks;
         private _previewManager;
+        private _copiedNode;
         /** @hidden */
         _toAdd: LinkModel[] | null;
         /**

Разлика између датотеке није приказан због своје велике величине
+ 6 - 6
dist/preview release/nodeEditor/babylon.nodeEditor.js


Разлика између датотеке није приказан због своје велике величине
+ 32 - 1
dist/preview release/nodeEditor/babylon.nodeEditor.max.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
dist/preview release/nodeEditor/babylon.nodeEditor.max.js.map


+ 2 - 0
dist/preview release/nodeEditor/babylon.nodeEditor.module.d.ts

@@ -1108,6 +1108,7 @@ declare module "babylonjs-node-editor/graphEditor" {
         private _nodes;
         private _blocks;
         private _previewManager;
+        private _copiedNode;
         /** @hidden */
         _toAdd: LinkModel[] | null;
         /**
@@ -2152,6 +2153,7 @@ declare module NODEEDITOR {
         private _nodes;
         private _blocks;
         private _previewManager;
+        private _copiedNode;
         /** @hidden */
         _toAdd: LinkModel[] | null;
         /**

+ 14 - 0
dist/preview release/viewer/babylon.module.d.ts

@@ -54940,6 +54940,13 @@ declare module "babylonjs/Materials/Node/nodeMaterialBlock" {
          */
         build(state: NodeMaterialBuildState, contextSwitched?: boolean): boolean;
         /**
+         * Clone the current block to a new identical block
+         * @param scene defines the hosting scene
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a copy of the current block
+         */
+        clone(scene: Scene, rootUrl?: string): Nullable<NodeMaterialBlock>;
+        /**
          * Serializes this block in a JSON representation
          * @returns the serialized block object
          */
@@ -116873,6 +116880,13 @@ declare module BABYLON {
          */
         build(state: NodeMaterialBuildState, contextSwitched?: boolean): boolean;
         /**
+         * Clone the current block to a new identical block
+         * @param scene defines the hosting scene
+         * @param rootUrl defines the root URL to use to load textures and relative dependencies
+         * @returns a copy of the current block
+         */
+        clone(scene: Scene, rootUrl?: string): Nullable<NodeMaterialBlock>;
+        /**
          * Serializes this block in a JSON representation
          * @returns the serialized block object
          */

Разлика између датотеке није приказан због своје велике величине
+ 5 - 5
dist/preview release/viewer/babylon.viewer.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
dist/preview release/viewer/babylon.viewer.max.js


+ 6 - 1
nodeEditor/src/graphEditor.tsx

@@ -214,8 +214,13 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
                     return;
                 }
 
-                let block = this._copiedNode.block;
+                let block = this._copiedNode.block!;
                 let clone = block.clone(this.props.globalState.nodeMaterial.getScene());
+
+                if (!clone) {
+                    return;
+                }
+                
                 let newNode = this.createNodeFromObject({ nodeMaterialBlock: clone });
 
                 newNode.x = this._copiedNode.x;