Explorar el Código

Added a new parameter to clone submaterial of a multimaterial if needed

Temechon hace 9 años
padre
commit
2c49cfcb93

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2269 - 2269
dist/preview release/babylon.d.ts


+ 8 - 2
src/Materials/babylon.multiMaterial.js

@@ -31,10 +31,16 @@ var BABYLON;
             }
             return true;
         };
-        MultiMaterial.prototype.clone = function (name) {
+        MultiMaterial.prototype.clone = function (name, cloneChildren) {
             var newMultiMaterial = new MultiMaterial(name, this.getScene());
             for (var index = 0; index < this.subMaterials.length; index++) {
-                var subMaterial = this.subMaterials[index];
+                var subMaterial = null;
+                if (cloneChildren) {
+                    subMaterial = this.subMaterials[index].clone(name + "-" + this.subMaterials[index].name);
+                }
+                else {
+                    subMaterial = this.subMaterials[index];
+                }
                 newMultiMaterial.subMaterials.push(subMaterial);
             }
             return newMultiMaterial;

+ 7 - 2
src/Materials/babylon.multiMaterial.ts

@@ -31,11 +31,16 @@
             return true;
         }
 
-        public clone(name: string): MultiMaterial {
+        public clone(name: string, cloneChildren?:boolean): MultiMaterial {
             var newMultiMaterial = new MultiMaterial(name, this.getScene());
 
             for (var index = 0; index < this.subMaterials.length; index++) {
-                var subMaterial = this.subMaterials[index];
+                var subMaterial : Material = null;
+                if (cloneChildren) {
+                    subMaterial = this.subMaterials[index].clone(name+"-"+this.subMaterials[index].name);
+                } else {
+                    subMaterial = this.subMaterials[index];
+                }
                 newMultiMaterial.subMaterials.push(subMaterial);
             }