浏览代码

Fix previous PR

David Catuhe 8 年之前
父节点
当前提交
791615ca99

文件差异内容过多而无法显示
+ 22 - 22
dist/preview release/babylon.core.js


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


文件差异内容过多而无法显示
+ 31 - 31
dist/preview release/babylon.js


文件差异内容过多而无法显示
+ 1836 - 176
dist/preview release/babylon.max.js


文件差异内容过多而无法显示
+ 30 - 30
dist/preview release/babylon.noworker.js


+ 11 - 11
src/Cameras/babylon.freeCamera.ts

@@ -103,16 +103,16 @@
             this.cameraRotation = new Vector2(0, 0);
         }
 
-	 // Collisions
-	private _collisionMask = -1;
-	 
-	public get collisionMask(): number {
-	    return this._collisionMask;
-	}
-	 
-	public set collisionMask(mask: number) {
-	    this._collisionMask = !isNaN(mask) ? mask : -1;
-	}
+        // Collisions
+        private _collisionMask = -1;
+        
+        public get collisionMask(): number {
+            return this._collisionMask;
+        }
+        
+        public set collisionMask(mask: number) {
+            this._collisionMask = !isNaN(mask) ? mask : -1;
+        }
 	 
         public _collideWithWorld(velocity: Vector3): void {
             var globalPosition: Vector3;
@@ -125,7 +125,7 @@
 
             globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition);
             this._collider.radius = this.ellipsoid;
-	    this._collider._collisionMask = (!isNaN(this._collisionMask) ? this._collisionMask : -1);
+	        this._collider.collisionMask = this._collisionMask;
 		
             //no need for clone, as long as gravity is not on.
             var actualVelocity = velocity;

+ 10 - 0
src/Collisions/babylon.collider.ts

@@ -86,6 +86,16 @@
         private _slidePlaneNormal = Vector3.Zero();
         private _displacementVector = Vector3.Zero();
 
+        private _collisionMask = -1;
+        
+        public get collisionMask(): number {
+            return this._collisionMask;
+        }
+        
+        public set collisionMask(mask: number) {
+            this._collisionMask = !isNaN(mask) ? mask : -1;
+        }
+
         // Methods
         public _initialize(source: Vector3, dir: Vector3, e: number): void {
             this.velocity = dir;

+ 2 - 4
src/Collisions/babylon.collisionCoordinator.ts

@@ -385,17 +385,15 @@ module BABYLON {
                 return;
             }
 
-            // Check if this is a camera else -1
-            collider._collisionMask = (!isNaN(collider._collisionMask) ? collider._collisionMask : -1)
             // Check if this is a mesh else camera or -1
-            var collisionMask = (excludedMesh ? excludedMesh._collisionMask : collider._collisionMask);
+            var collisionMask = (excludedMesh ? excludedMesh.collisionMask : collider.collisionMask);
 
             collider._initialize(position, velocity, closeDistance);
 
             // Check all meshes
             for (var index = 0; index < this._scene.meshes.length; index++) {
                 var mesh = this._scene.meshes[index];
-                if (mesh.isEnabled() && mesh.checkCollisions && mesh.subMeshes && mesh !== excludedMesh &&  ((collisionMask & mesh._collisionMask) !== 0)) {
+                if (mesh.isEnabled() && mesh.checkCollisions && mesh.subMeshes && mesh !== excludedMesh &&  ((collisionMask & mesh.collisionMask) !== 0)) {
                     mesh._checkCollision(collider);
                 }
             }