Explorar el Código

Adding ID to lens flare systems

Including the function to search by ID.
id defaults to the name provided (like in the node), but can be changed.
Raanan Weber hace 9 años
padre
commit
4ac831e618
Se han modificado 2 ficheros con 17 adiciones y 1 borrados
  1. 7 1
      src/LensFlare/babylon.lensFlareSystem.ts
  2. 10 0
      src/babylon.scene.ts

+ 7 - 1
src/LensFlare/babylon.lensFlareSystem.ts

@@ -4,6 +4,7 @@
         public borderLimit = 300;
         public borderLimit = 300;
         public meshesSelectionPredicate: (mesh: Mesh) => boolean;
         public meshesSelectionPredicate: (mesh: Mesh) => boolean;
         public layerMask: number = 0x0FFFFFFF;
         public layerMask: number = 0x0FFFFFFF;
+        public id: string;
 
 
         private _scene: Scene;
         private _scene: Scene;
         private _emitter: any;
         private _emitter: any;
@@ -20,6 +21,7 @@
 
 
             this._scene = scene;
             this._scene = scene;
             this._emitter = emitter;
             this._emitter = emitter;
+            this.id = name;
             scene.lensFlareSystems.push(this);
             scene.lensFlareSystems.push(this);
 
 
             this.meshesSelectionPredicate = m => m.material && m.isVisible && m.isEnabled() && m.isBlocker && ((m.layerMask & scene.activeCamera.layerMask) != 0);
             this.meshesSelectionPredicate = m => m.material && m.isVisible && m.isEnabled() && m.isBlocker && ((m.layerMask & scene.activeCamera.layerMask) != 0);
@@ -240,6 +242,9 @@
             var name = parsedLensFlareSystem.name || "lensFlareSystem#" + parsedLensFlareSystem.emitterId;
             var name = parsedLensFlareSystem.name || "lensFlareSystem#" + parsedLensFlareSystem.emitterId;
 
 
             var lensFlareSystem = new LensFlareSystem(name, emitter, scene);
             var lensFlareSystem = new LensFlareSystem(name, emitter, scene);
+            if (parsedLensFlareSystem.id) {
+                lensFlareSystem.id = parsedLensFlareSystem.id;
+            }
             lensFlareSystem.borderLimit = parsedLensFlareSystem.borderLimit;
             lensFlareSystem.borderLimit = parsedLensFlareSystem.borderLimit;
 
 
             for (var index = 0; index < parsedLensFlareSystem.flares.length; index++) {
             for (var index = 0; index < parsedLensFlareSystem.flares.length; index++) {
@@ -252,7 +257,8 @@
 
 
         public serialize(): any {
         public serialize(): any {
             var serializationObject: any = {};
             var serializationObject: any = {};
-
+            
+            serializationObject.id = this.id;
             serializationObject.name = this.name;
             serializationObject.name = this.name;
 
 
             serializationObject.emitterId = this.getEmitter().id;
             serializationObject.emitterId = this.getEmitter().id;

+ 10 - 0
src/babylon.scene.ts

@@ -1288,6 +1288,16 @@
 
 
             return null;
             return null;
         }
         }
+        
+        public getLensFlareSystemByID(id: string): LensFlareSystem {
+            for (var index = 0; index < this.lensFlareSystems.length; index++) {
+                if (this.lensFlareSystems[index].id === id) {
+                    return this.lensFlareSystems[index];
+                }
+            }
+
+            return null;
+        }
 
 
         public getCameraByID(id: string): Camera {
         public getCameraByID(id: string): Camera {
             for (var index = 0; index < this.cameras.length; index++) {
             for (var index = 0; index < this.cameras.length; index++) {