David Catuhe 8 سال پیش
والد
کامیت
0d542e8654

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 968 - 963
dist/preview release/babylon.d.ts


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 22 - 22
dist/preview release/babylon.js


+ 8 - 0
dist/preview release/babylon.max.js

@@ -11320,6 +11320,11 @@ var BABYLON;
             * @type {BABYLON.Observable}
             */
             _this.onAfterWorldMatrixUpdateObservable = new BABYLON.Observable();
+            /**
+            * An event triggered when material is changed
+            * @type {BABYLON.Observable}
+            */
+            _this.onMaterialChangedObservable = new BABYLON.Observable();
             // Properties
             _this.definedFacingForward = true; // orientation for POV movement & rotation
             _this.position = BABYLON.Vector3.Zero();
@@ -11511,6 +11516,9 @@ var BABYLON;
                     return;
                 }
                 this._material = value;
+                if (this.onMaterialChangedObservable.hasObservers) {
+                    this.onMaterialChangedObservable.notifyObservers(this);
+                }
                 if (!this.subMeshes) {
                     return;
                 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 968 - 963
dist/preview release/babylon.module.d.ts


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 22 - 22
dist/preview release/babylon.worker.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 4235 - 4230
dist/preview release/customConfigurations/minimalViewer/babylon.d.ts


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 22 - 22
dist/preview release/customConfigurations/minimalViewer/babylon.js


+ 8 - 0
dist/preview release/customConfigurations/minimalViewer/babylon.max.js

@@ -11320,6 +11320,11 @@ var BABYLON;
             * @type {BABYLON.Observable}
             */
             _this.onAfterWorldMatrixUpdateObservable = new BABYLON.Observable();
+            /**
+            * An event triggered when material is changed
+            * @type {BABYLON.Observable}
+            */
+            _this.onMaterialChangedObservable = new BABYLON.Observable();
             // Properties
             _this.definedFacingForward = true; // orientation for POV movement & rotation
             _this.position = BABYLON.Vector3.Zero();
@@ -11511,6 +11516,9 @@ var BABYLON;
                     return;
                 }
                 this._material = value;
+                if (this.onMaterialChangedObservable.hasObservers) {
+                    this.onMaterialChangedObservable.notifyObservers(this);
+                }
                 if (!this.subMeshes) {
                     return;
                 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 4235 - 4230
dist/preview release/customConfigurations/minimalViewer/babylon.module.d.ts


+ 1 - 0
dist/preview release/what's new.md

@@ -6,6 +6,7 @@
 
 ## Updates
 - Normals are generated automatically by StandardMaterial if meshes do not have normals ([deltakosh](https://github.com/deltakosh))
+- Added `mesh.onMaterialChangedObservable` to notify when a new material is set ([deltakosh](https://github.com/deltakosh))
 
 ## Bug fixes
 - Fixed a bug with PBR on iOS ([sebavan](https://github.com/sebavan))

+ 11 - 0
src/Mesh/babylon.abstractMesh.ts

@@ -112,6 +112,12 @@
         */
         public onAfterWorldMatrixUpdateObservable = new Observable<AbstractMesh>();
 
+        /**
+        * An event triggered when material is changed
+        * @type {BABYLON.Observable}
+        */
+        public onMaterialChangedObservable = new Observable<AbstractMesh>();
+
         // Properties
         public definedFacingForward = true; // orientation for POV movement & rotation
         public position = Vector3.Zero();
@@ -138,6 +144,11 @@
             }
 
             this._material = value;
+
+            if (this.onMaterialChangedObservable.hasObservers) {
+                this.onMaterialChangedObservable.notifyObservers(this);
+            }
+
             if (!this.subMeshes) {
                 return;
             }