浏览代码

Removed the reference of Canvas2d in Scene

Temechon 9 年之前
父节点
当前提交
0bef0a950c
共有 3 个文件被更改,包括 2702 次插入2697 次删除
  1. 2689 2687
      dist/preview release/babylon.d.ts
  2. 13 7
      src/Canvas2d/babylon.canvas2d.ts
  3. 0 3
      src/babylon.scene.ts

文件差异内容过多而无法显示
+ 2689 - 2687
dist/preview release/babylon.d.ts


+ 13 - 7
src/Canvas2d/babylon.canvas2d.ts

@@ -53,6 +53,8 @@
          */
         public static CACHESTRATEGY_DONTCACHE = 4;
 
+        private static _INSTANCES : Array<Canvas2D> = [];
+
         constructor(scene: Scene, settings?: {
             id?: string,
             children?: Array<Prim2DBase>,
@@ -184,8 +186,8 @@
 
             this._setupInteraction(enableInteraction);
 
-            // Register the canvas into the scene
-            this._scene.canvas2ds.push(this);
+            // Register this instance
+            Canvas2D._INSTANCES.push(this);
         }
 
         public get drawCallsOpaqueCounter(): PerfCounter {
@@ -236,6 +238,10 @@
             return this._boundingInfoRecomputeCounter;
         }
 
+        public static get instances() : Array<Canvas2D> {
+            return Canvas2D._INSTANCES;
+        }
+
         protected _canvasPreInit(settings: any) {
             let cachingStrategy = (settings.cachingStrategy == null) ? Canvas2D.CACHESTRATEGY_DONTCACHE : settings.cachingStrategy;
             this._cachingStrategy = cachingStrategy;
@@ -820,13 +826,13 @@
             if (this._groupCacheMaps) {
                 this._groupCacheMaps.forEach((k, m) => m.forEach(e => e.dispose()));
                 this._groupCacheMaps = null;
-            }
+            }       
 
-            // Unregister this canvas from the scene
-            let index = this._scene.canvas2ds.indexOf(this);
+            // Unregister this instance
+            let index = Canvas2D._INSTANCES.indexOf(this);
             if (index > -1) {
-                this._scene.canvas2ds.splice(index, 1);
-            }            
+                Canvas2D._INSTANCES.splice(index, 1);
+            }  
         }
 
         /**

+ 0 - 3
src/babylon.scene.ts

@@ -339,9 +339,6 @@
         */
         public meshes = new Array<AbstractMesh>();
 
-        // Contain all canvas2D used in the scene
-        public canvas2ds = new Array<Canvas2D>();
-
         // Geometries
         private _geometries = new Array<Geometry>();