Преглед изворни кода

onLoadObservable added to photo/video dome

Raanan Weber пре 4 година
родитељ
комит
0d9350b893
3 измењених фајлова са 12 додато и 2 уклоњено
  1. 3 1
      src/Helpers/photoDome.ts
  2. 6 1
      src/Helpers/textureDome.ts
  3. 3 0
      src/Helpers/videoDome.ts

+ 3 - 1
src/Helpers/photoDome.ts

@@ -55,7 +55,9 @@ export class PhotoDome extends TextureDome<Texture> {
     }
 
     protected _initTexture(urlsOrElement: string, scene: Scene, options: any): Texture {
-        return new Texture(urlsOrElement, scene, !options.generateMipMaps, !this._useDirectMapping, undefined, undefined, (message, exception) => {
+        return new Texture(urlsOrElement, scene, !options.generateMipMaps, !this._useDirectMapping, undefined, () => {
+            this.onLoadObservable.notifyObservers();
+        }, (message, exception) => {
             this.onLoadErrorObservable.notifyObservers(message || "Unknown error occured");
 
             if (this.onError) {

+ 6 - 1
src/Helpers/textureDome.ts

@@ -166,9 +166,13 @@ export abstract class TextureDome<T extends Texture> extends TransformNode {
      */
     private _onBeforeCameraRenderObserver: Nullable<Observer<Camera>> = null;
     /**
-     * Observable raised when an error occured while loading the 360 image
+     * Observable raised when an error occurred while loading the texture
      */
     public onLoadErrorObservable = new Observable<string>();
+    /**
+     * Observable raised when the texture finished loading
+     */
+    public onLoadObservable = new Observable<void>();
 
     /**
      * Create an instance of this class and pass through the parameters to the relevant classes- Texture, StandardMaterial, and Mesh.
@@ -328,6 +332,7 @@ export abstract class TextureDome<T extends Texture> extends TransformNode {
 
         this._scene.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver);
         this.onLoadErrorObservable.clear();
+        this.onLoadObservable.clear();
 
         super.dispose(doNotRecurse, disposeMaterialAndTextures);
     }

+ 3 - 0
src/Helpers/videoDome.ts

@@ -54,6 +54,9 @@ export class VideoDome extends TextureDome<VideoTexture> {
                 this._texture.video.play();
             };
         }
+        texture.onLoadObservable.add(() => {
+            this.onLoadObservable.notifyObservers();
+        });
         return texture;
     }
 }