瀏覽代碼

Fixing issue with mouse and pointer events

David Catuhe 9 年之前
父節點
當前提交
1bdc6ffd6f

文件差異過大導致無法顯示
+ 7 - 7
dist/preview release/babylon.core.js


文件差異過大導致無法顯示
+ 621 - 620
dist/preview release/babylon.d.ts


文件差異過大導致無法顯示
+ 7 - 7
dist/preview release/babylon.js


+ 14 - 4
dist/preview release/babylon.max.js

@@ -4034,10 +4034,10 @@ var BABYLON;
         // Misc.
         Tools.GetPointerPrefix = function () {
             var eventPrefix = "pointer";
-            // Check if hand.js is referenced or if the browser natively supports pointer events
-            //if (!navigator.pointerEnabled) {
-            //    eventPrefix = "mouse";
-            //}
+            // Check if pointer events are supported
+            if (!window.PointerEvent) {
+                eventPrefix = "mouse";
+            }
             return eventPrefix;
         };
         Tools.QueueNewFrame = function (func) {
@@ -15572,6 +15572,14 @@ var BABYLON;
         };
         // Cylinder and cone
         Mesh.CreateCylinder = function (name, height, diameterTop, diameterBottom, tessellation, subdivisions, scene, updatable, sideOrientation) {
+            if (scene === undefined || !(scene instanceof BABYLON.Scene)) {
+                if (scene !== undefined) {
+                    sideOrientation = updatable || Mesh.DEFAULTSIDE;
+                    updatable = scene;
+                }
+                scene = subdivisions;
+                subdivisions = 1;
+            }
             var options = {
                 height: height,
                 diameterTop: diameterTop,
@@ -18755,6 +18763,8 @@ var BABYLON;
             serializationObject.id = this.id;
             serializationObject.tags = BABYLON.Tags.GetTags(this);
             serializationObject.backFaceCulling = this.backFaceCulling;
+            serializationObject.checkReadyOnlyOnce = this.checkReadyOnlyOnce;
+            serializationObject.disableDepthWrite = this.disableDepthWrite;
             return serializationObject;
         };
         Material.ParseMultiMaterial = function (parsedMultiMaterial, scene) {

文件差異過大導致無法顯示
+ 7 - 7
dist/preview release/babylon.noworker.js


+ 2 - 0
src/Materials/babylon.material.js

@@ -239,6 +239,8 @@ var BABYLON;
             serializationObject.id = this.id;
             serializationObject.tags = BABYLON.Tags.GetTags(this);
             serializationObject.backFaceCulling = this.backFaceCulling;
+            serializationObject.checkReadyOnlyOnce = this.checkReadyOnlyOnce;
+            serializationObject.disableDepthWrite = this.disableDepthWrite;
             return serializationObject;
         };
         Material.ParseMultiMaterial = function (parsedMultiMaterial, scene) {

+ 2 - 0
src/Materials/babylon.material.ts

@@ -276,6 +276,8 @@
             serializationObject.id = this.id;
             serializationObject.tags = Tags.GetTags(this);
             serializationObject.backFaceCulling = this.backFaceCulling;
+            serializationObject.checkReadyOnlyOnce = this.checkReadyOnlyOnce;
+            serializationObject.disableDepthWrite = this.disableDepthWrite;
 
             return serializationObject;
         }

+ 8 - 0
src/Mesh/babylon.mesh.js

@@ -1259,6 +1259,14 @@ var BABYLON;
         };
         // Cylinder and cone
         Mesh.CreateCylinder = function (name, height, diameterTop, diameterBottom, tessellation, subdivisions, scene, updatable, sideOrientation) {
+            if (scene === undefined || !(scene instanceof BABYLON.Scene)) {
+                if (scene !== undefined) {
+                    sideOrientation = updatable || Mesh.DEFAULTSIDE;
+                    updatable = scene;
+                }
+                scene = subdivisions;
+                subdivisions = 1;
+            }
             var options = {
                 height: height,
                 diameterTop: diameterTop,

+ 9 - 0
src/Mesh/babylon.mesh.ts

@@ -1492,6 +1492,15 @@
 
         // Cylinder and cone
         public static CreateCylinder(name: string, height: number, diameterTop: number, diameterBottom: number, tessellation: number, subdivisions: any, scene: Scene, updatable?: any, sideOrientation?: number): Mesh {
+            if (scene === undefined || !(scene instanceof Scene)) {
+                if (scene !== undefined) {
+                    sideOrientation = updatable || Mesh.DEFAULTSIDE;
+                    updatable = scene;
+                }
+                scene = <Scene>subdivisions;
+                subdivisions = 1;
+            }
+
             var options = {
                 height: height,
                 diameterTop: diameterTop,

+ 4 - 4
src/Tools/babylon.tools.js

@@ -149,10 +149,10 @@ var BABYLON;
         // Misc.
         Tools.GetPointerPrefix = function () {
             var eventPrefix = "pointer";
-            // Check if hand.js is referenced or if the browser natively supports pointer events
-            //if (!navigator.pointerEnabled) {
-            //    eventPrefix = "mouse";
-            //}
+            // Check if pointer events are supported
+            if (!window.PointerEvent) {
+                eventPrefix = "mouse";
+            }
             return eventPrefix;
         };
         Tools.QueueNewFrame = function (func) {

+ 4 - 4
src/Tools/babylon.tools.ts

@@ -198,10 +198,10 @@
         public static GetPointerPrefix(): string {
             var eventPrefix = "pointer";
 
-            // Check if hand.js is referenced or if the browser natively supports pointer events
-            //if (!navigator.pointerEnabled) {
-            //    eventPrefix = "mouse";
-            //}
+            // Check if pointer events are supported
+            if (!window.PointerEvent) {
+                eventPrefix = "mouse";
+            }
 
             return eventPrefix;
         }

+ 110 - 109
src/babylon.mixins.ts

@@ -1,110 +1,111 @@
-// Mixins
-interface Window {
-    mozIndexedDB(func: any): any;
-    webkitIndexedDB(func: any): any;
-    IDBTransaction(func: any): any;
-    webkitIDBTransaction(func: any): any;
-    msIDBTransaction(func: any): any;
-    IDBKeyRange(func: any): any;
-    webkitIDBKeyRange(func: any): any;
-    msIDBKeyRange(func: any): any;
-    webkitURL: HTMLURL;
-    webkitRequestAnimationFrame(func: any): any;
-    mozRequestAnimationFrame(func: any): any;
-    oRequestAnimationFrame(func: any): any;
-    WebGLRenderingContext: WebGLRenderingContext;
-    MSGesture: MSGesture;
-    CANNON: any;
-    SIMD: any;
-    AudioContext: AudioContext;
-    webkitAudioContext: AudioContext;
-}
-
-interface HTMLURL {
-    createObjectURL(param1: any, param2?: any);
-}
-
-interface Document {
-    exitFullscreen(): void;
-    webkitCancelFullScreen(): void;
-    mozCancelFullScreen(): void;
-    msCancelFullScreen(): void;
-    mozFullScreen: boolean;
-    msIsFullScreen: boolean;
-    fullscreen: boolean;
-    mozPointerLockElement: HTMLElement;
-    msPointerLockElement: HTMLElement;
-    webkitPointerLockElement: HTMLElement;
-}
-
-interface HTMLCanvasElement {
-    requestPointerLock(): void;
-    msRequestPointerLock(): void;
-    mozRequestPointerLock(): void;
-    webkitRequestPointerLock(): void;
-}
-
-interface CanvasRenderingContext2D {
-    imageSmoothingEnabled: boolean;
-    mozImageSmoothingEnabled: boolean;
-    oImageSmoothingEnabled: boolean;
-    webkitImageSmoothingEnabled: boolean;
-}
-
-interface WebGLTexture {
-    isReady: boolean;
-    isCube: boolean;
-    url: string;
-    noMipmap: boolean;
-    samplingMode: number;
-    references: number;
-    generateMipMaps: boolean;
-    _size: number;
-    _baseWidth: number;
-    _baseHeight: number;
-    _width: number;
-    _height: number;
-    _workingCanvas: HTMLCanvasElement;
-    _workingContext: CanvasRenderingContext2D;
-    _framebuffer: WebGLFramebuffer;
-    _depthBuffer: WebGLRenderbuffer;
-    _cachedCoordinatesMode: number;
-    _cachedWrapU: number;
-    _cachedWrapV: number;
-    _isDisabled: boolean;
-}
-
-interface WebGLBuffer {
-    references: number;
-    capacity: number;
-    is32Bits: boolean;
-}
-
-interface MouseEvent {
-    mozMovementX: number;
-    mozMovementY: number;
-    webkitMovementX: number;
-    webkitMovementY: number;
-    msMovementX: number;
-    msMovementY: number;
-}
-
-interface MSStyleCSSProperties {
-    webkitTransform: string;
-    webkitTransition: string;
-}
-
-interface Navigator {
-    getVRDevices: () => any;
-    mozGetVRDevices: (any: any) => any;
-    isCocoonJS: boolean;
-}
-
-interface Screen {
-    orientation: string;
-    mozOrientation: string;
-}
-
-interface HTMLMediaElement {
-    crossOrigin: string;
+// Mixins
+interface Window {
+    mozIndexedDB(func: any): any;
+    webkitIndexedDB(func: any): any;
+    IDBTransaction(func: any): any;
+    webkitIDBTransaction(func: any): any;
+    msIDBTransaction(func: any): any;
+    IDBKeyRange(func: any): any;
+    webkitIDBKeyRange(func: any): any;
+    msIDBKeyRange(func: any): any;
+    webkitURL: HTMLURL;
+    webkitRequestAnimationFrame(func: any): any;
+    mozRequestAnimationFrame(func: any): any;
+    oRequestAnimationFrame(func: any): any;
+    WebGLRenderingContext: WebGLRenderingContext;
+    MSGesture: MSGesture;
+    CANNON: any;
+    SIMD: any;
+    AudioContext: AudioContext;
+    webkitAudioContext: AudioContext;
+    PointerEvent: any;
+}
+
+interface HTMLURL {
+    createObjectURL(param1: any, param2?: any);
+}
+
+interface Document {
+    exitFullscreen(): void;
+    webkitCancelFullScreen(): void;
+    mozCancelFullScreen(): void;
+    msCancelFullScreen(): void;
+    mozFullScreen: boolean;
+    msIsFullScreen: boolean;
+    fullscreen: boolean;
+    mozPointerLockElement: HTMLElement;
+    msPointerLockElement: HTMLElement;
+    webkitPointerLockElement: HTMLElement;
+}
+
+interface HTMLCanvasElement {
+    requestPointerLock(): void;
+    msRequestPointerLock(): void;
+    mozRequestPointerLock(): void;
+    webkitRequestPointerLock(): void;
+}
+
+interface CanvasRenderingContext2D {
+    imageSmoothingEnabled: boolean;
+    mozImageSmoothingEnabled: boolean;
+    oImageSmoothingEnabled: boolean;
+    webkitImageSmoothingEnabled: boolean;
+}
+
+interface WebGLTexture {
+    isReady: boolean;
+    isCube: boolean;
+    url: string;
+    noMipmap: boolean;
+    samplingMode: number;
+    references: number;
+    generateMipMaps: boolean;
+    _size: number;
+    _baseWidth: number;
+    _baseHeight: number;
+    _width: number;
+    _height: number;
+    _workingCanvas: HTMLCanvasElement;
+    _workingContext: CanvasRenderingContext2D;
+    _framebuffer: WebGLFramebuffer;
+    _depthBuffer: WebGLRenderbuffer;
+    _cachedCoordinatesMode: number;
+    _cachedWrapU: number;
+    _cachedWrapV: number;
+    _isDisabled: boolean;
+}
+
+interface WebGLBuffer {
+    references: number;
+    capacity: number;
+    is32Bits: boolean;
+}
+
+interface MouseEvent {
+    mozMovementX: number;
+    mozMovementY: number;
+    webkitMovementX: number;
+    webkitMovementY: number;
+    msMovementX: number;
+    msMovementY: number;
+}
+
+interface MSStyleCSSProperties {
+    webkitTransform: string;
+    webkitTransition: string;
+}
+
+interface Navigator {
+    getVRDevices: () => any;
+    mozGetVRDevices: (any: any) => any;
+    isCocoonJS: boolean;
+}
+
+interface Screen {
+    orientation: string;
+    mozOrientation: string;
+}
+
+interface HTMLMediaElement {
+    crossOrigin: string;
 }