David Catuhe 5 years ago
parent
commit
80339a6c83

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

@@ -7672,6 +7672,10 @@ declare module BABYLON {
     export class CubeTexture extends BaseTexture {
         private _delayedOnLoad;
         /**
+         * Observable triggered once the texture has been loaded.
+         */
+        onLoadObservable: Observable<CubeTexture>;
+        /**
          * The url of the texture
          */
         url: string;

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.js


File diff suppressed because it is too large
+ 104 - 69
dist/preview release/babylon.max.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.max.js.map


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

@@ -7759,12 +7759,17 @@ declare module "babylonjs/Materials/Textures/cubeTexture" {
     import { Matrix, Vector3 } from "babylonjs/Maths/math.vector";
     import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
     import "babylonjs/Engines/Extensions/engine.cubeTexture";
+    import { Observable } from "babylonjs/Misc/observable";
     /**
      * Class for creating a cube texture
      */
     export class CubeTexture extends BaseTexture {
         private _delayedOnLoad;
         /**
+         * Observable triggered once the texture has been loaded.
+         */
+        onLoadObservable: Observable<CubeTexture>;
+        /**
          * The url of the texture
          */
         url: string;
@@ -80899,6 +80904,10 @@ declare module BABYLON {
     export class CubeTexture extends BaseTexture {
         private _delayedOnLoad;
         /**
+         * Observable triggered once the texture has been loaded.
+         */
+        onLoadObservable: Observable<CubeTexture>;
+        /**
          * The url of the texture
          */
         url: string;

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

@@ -7672,6 +7672,10 @@ declare module BABYLON {
     export class CubeTexture extends BaseTexture {
         private _delayedOnLoad;
         /**
+         * Observable triggered once the texture has been loaded.
+         */
+        onLoadObservable: Observable<CubeTexture>;
+        /**
          * The url of the texture
          */
         url: string;

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/inspector/babylon.inspector.bundle.js


+ 12 - 11
dist/preview release/inspector/babylon.inspector.bundle.max.js

@@ -46514,10 +46514,10 @@ var MeshPropertyGridComponent = /** @class */ (function (_super) {
             { label: "Optimistic", value: babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["AbstractMesh"].OCCLUSION_TYPE_OPTIMISTIC },
             { label: "Strict", value: babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["AbstractMesh"].OCCLUSION_TYPE_STRICT },
         ];
-        var sortedMaterials = scene.materials.slice(0).sort(function (a, b) { return a.name.localeCompare(b.name); });
+        var sortedMaterials = scene.materials.slice(0).sort(function (a, b) { return (a.name || "no name").localeCompare(b.name || "no name"); });
         var materialOptions = sortedMaterials.map(function (m, i) {
             return {
-                label: m.name,
+                label: m.name || "no name",
                 value: i
             };
         });
@@ -46542,15 +46542,16 @@ var MeshPropertyGridComponent = /** @class */ (function (_super) {
                 react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__["CheckBoxLineComponent"], { label: "Is pickable", target: mesh, propertyName: "isPickable", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
                 mesh.material && (!mesh.material.reservedDataStore || !mesh.material.reservedDataStore.hidden) &&
                     react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Link to material", value: mesh.material.name, onLink: function () { return _this.onMaterialLink(); } }),
-                react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_12__["OptionsLineComponent"], { label: "Active material", options: materialOptions, target: mesh, propertyName: "material", noDirectUpdate: true, onSelect: function (value) {
-                        if (value < 0) {
-                            mesh.material = null;
-                        }
-                        else {
-                            mesh.material = sortedMaterials[value];
-                        }
-                        _this.forceUpdate();
-                    }, extractValue: function () { return mesh.material ? sortedMaterials.indexOf(mesh.material) : -1; }, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
+                !mesh.isAnInstance &&
+                    react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_12__["OptionsLineComponent"], { label: "Active material", options: materialOptions, target: mesh, propertyName: "material", noDirectUpdate: true, onSelect: function (value) {
+                            if (value < 0) {
+                                mesh.material = null;
+                            }
+                            else {
+                                mesh.material = sortedMaterials[value];
+                            }
+                            _this.forceUpdate();
+                        }, extractValue: function () { return mesh.material ? sortedMaterials.indexOf(mesh.material) : -1; }, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
                 mesh.isAnInstance &&
                     react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Source", value: mesh.sourceMesh.name, onLink: function () { return _this.onSourceMeshLink(); } }),
                 react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_13__["ButtonLineComponent"], { label: "Dispose", onClick: function () {

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/inspector/babylon.inspector.bundle.max.js.map


+ 1 - 1
dist/preview release/packagesSizeBaseLine.json

@@ -1 +1 @@
-{"thinEngineOnly":112467,"engineOnly":148577,"sceneOnly":503616,"minGridMaterial":634243,"minStandardMaterial":774371}
+{"thinEngineOnly":112467,"engineOnly":148577,"sceneOnly":503616,"minGridMaterial":634243,"minStandardMaterial":774375}

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

@@ -7759,12 +7759,17 @@ declare module "babylonjs/Materials/Textures/cubeTexture" {
     import { Matrix, Vector3 } from "babylonjs/Maths/math.vector";
     import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
     import "babylonjs/Engines/Extensions/engine.cubeTexture";
+    import { Observable } from "babylonjs/Misc/observable";
     /**
      * Class for creating a cube texture
      */
     export class CubeTexture extends BaseTexture {
         private _delayedOnLoad;
         /**
+         * Observable triggered once the texture has been loaded.
+         */
+        onLoadObservable: Observable<CubeTexture>;
+        /**
          * The url of the texture
          */
         url: string;
@@ -80899,6 +80904,10 @@ declare module BABYLON {
     export class CubeTexture extends BaseTexture {
         private _delayedOnLoad;
         /**
+         * Observable triggered once the texture has been loaded.
+         */
+        onLoadObservable: Observable<CubeTexture>;
+        /**
          * The url of the texture
          */
         url: string;

File diff suppressed because it is too large
+ 5 - 5
dist/preview release/viewer/babylon.viewer.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/viewer/babylon.viewer.max.js


+ 6 - 4
src/Materials/Textures/cubeTexture.ts

@@ -17,7 +17,7 @@ import { Observable } from '../../Misc/observable';
  */
 export class CubeTexture extends BaseTexture {
     private _delayedOnLoad: Nullable<() => void>;
-    
+
     /**
      * Observable triggered once the texture has been loaded.
      */
@@ -223,7 +223,7 @@ export class CubeTexture extends BaseTexture {
             if (onLoad) {
                 onLoad();
             }
-        }
+        };
 
         if (!this._texture) {
             if (!scene.useDelayedTextureLoading) {
@@ -233,8 +233,8 @@ export class CubeTexture extends BaseTexture {
                 else {
                     this._texture = scene.getEngine().createCubeTexture(rootUrl, scene, files, noMipmap, onLoad, onError, this._format, forcedExtension, false, lodScale, lodOffset);
                 }
-                this._texture.onLoadedObservable.add(() => this.onLoadObservable.notifyObservers(this));
-                
+                this._texture?.onLoadedObservable.add(() => this.onLoadObservable.notifyObservers(this));
+
             } else {
                 this.delayLoadState = Constants.DELAYLOADSTATE_NOTLOADED;
             }
@@ -318,6 +318,8 @@ export class CubeTexture extends BaseTexture {
             else {
                 this._texture = scene.getEngine().createCubeTexture(this.url, scene, this._files, this._noMipmap, this._delayedOnLoad, null, this._format, forcedExtension);
             }
+
+            this._texture?.onLoadedObservable.add(() => this.onLoadObservable.notifyObservers(this));
         }
     }