Bläddra i källkod

Added scene.attachControl new signature (+ doc)

David Catuhe 9 år sedan
förälder
incheckning
1aae07ffa1

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2 - 2
dist/preview release/babylon.core.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 3249 - 3249
dist/preview release/babylon.d.ts


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2 - 2
dist/preview release/babylon.js


+ 16 - 7
dist/preview release/babylon.max.js

@@ -14526,8 +14526,11 @@ var BABYLON;
             }
             }
         };
         };
         // Pointers handling
         // Pointers handling
-        Scene.prototype.attachControl = function () {
+        Scene.prototype.attachControl = function (attachUp, attachDown, attachMove) {
             var _this = this;
             var _this = this;
+            if (attachUp === void 0) { attachUp = true; }
+            if (attachDown === void 0) { attachDown = true; }
+            if (attachMove === void 0) { attachMove = true; }
             var spritePredicate = function (sprite) {
             var spritePredicate = function (sprite) {
                 return sprite.isPickable && sprite.actionManager && sprite.actionManager.hasPointerTriggers;
                 return sprite.isPickable && sprite.actionManager && sprite.actionManager.hasPointerTriggers;
             };
             };
@@ -14702,12 +14705,18 @@ var BABYLON;
                 }
                 }
             };
             };
             var eventPrefix = BABYLON.Tools.GetPointerPrefix();
             var eventPrefix = BABYLON.Tools.GetPointerPrefix();
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "move", this._onPointerMove, false);
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "down", this._onPointerDown, false);
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "up", this._onPointerUp, false);
-            // Wheel
-            this._engine.getRenderingCanvas().addEventListener('mousewheel', this._onPointerMove, false);
-            this._engine.getRenderingCanvas().addEventListener('DOMMouseScroll', this._onPointerMove, false);
+            if (attachMove) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "move", this._onPointerMove, false);
+                // Wheel
+                this._engine.getRenderingCanvas().addEventListener('mousewheel', this._onPointerMove, false);
+                this._engine.getRenderingCanvas().addEventListener('DOMMouseScroll', this._onPointerMove, false);
+            }
+            if (attachDown) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "down", this._onPointerDown, false);
+            }
+            if (attachUp) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "up", this._onPointerUp, false);
+            }
             BABYLON.Tools.RegisterTopRootEvents([
             BABYLON.Tools.RegisterTopRootEvents([
                 { name: "keydown", handler: this._onKeyDown },
                 { name: "keydown", handler: this._onKeyDown },
                 { name: "keyup", handler: this._onKeyUp }
                 { name: "keyup", handler: this._onKeyUp }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2 - 2
dist/preview release/babylon.noworker.js


+ 16 - 7
src/babylon.scene.js

@@ -438,8 +438,11 @@ var BABYLON;
             }
             }
         };
         };
         // Pointers handling
         // Pointers handling
-        Scene.prototype.attachControl = function () {
+        Scene.prototype.attachControl = function (attachUp, attachDown, attachMove) {
             var _this = this;
             var _this = this;
+            if (attachUp === void 0) { attachUp = true; }
+            if (attachDown === void 0) { attachDown = true; }
+            if (attachMove === void 0) { attachMove = true; }
             var spritePredicate = function (sprite) {
             var spritePredicate = function (sprite) {
                 return sprite.isPickable && sprite.actionManager && sprite.actionManager.hasPointerTriggers;
                 return sprite.isPickable && sprite.actionManager && sprite.actionManager.hasPointerTriggers;
             };
             };
@@ -614,12 +617,18 @@ var BABYLON;
                 }
                 }
             };
             };
             var eventPrefix = BABYLON.Tools.GetPointerPrefix();
             var eventPrefix = BABYLON.Tools.GetPointerPrefix();
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "move", this._onPointerMove, false);
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "down", this._onPointerDown, false);
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "up", this._onPointerUp, false);
-            // Wheel
-            this._engine.getRenderingCanvas().addEventListener('mousewheel', this._onPointerMove, false);
-            this._engine.getRenderingCanvas().addEventListener('DOMMouseScroll', this._onPointerMove, false);
+            if (attachMove) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "move", this._onPointerMove, false);
+                // Wheel
+                this._engine.getRenderingCanvas().addEventListener('mousewheel', this._onPointerMove, false);
+                this._engine.getRenderingCanvas().addEventListener('DOMMouseScroll', this._onPointerMove, false);
+            }
+            if (attachDown) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "down", this._onPointerDown, false);
+            }
+            if (attachUp) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "up", this._onPointerUp, false);
+            }
             BABYLON.Tools.RegisterTopRootEvents([
             BABYLON.Tools.RegisterTopRootEvents([
                 { name: "keydown", handler: this._onKeyDown },
                 { name: "keydown", handler: this._onKeyDown },
                 { name: "keyup", handler: this._onKeyUp }
                 { name: "keyup", handler: this._onKeyUp }

+ 22 - 7
src/babylon.scene.ts

@@ -567,7 +567,14 @@
         }
         }
 
 
         // Pointers handling
         // Pointers handling
-        public attachControl() {
+
+        /**
+        * Attach events to the canvas (To handle actionManagers triggers and raise onPointerMove, onPointerDown and onPointerUp
+        * @param attachUp defines if you want to attach events to pointerup
+        * @param attachDown defines if you want to attach events to pointerdown
+        * @param attachMove defines if you want to attach events to pointermove
+        */
+        public attachControl(attachUp = true, attachDown = true, attachMove = true) {
             var spritePredicate = (sprite: Sprite): boolean => {
             var spritePredicate = (sprite: Sprite): boolean => {
                 return sprite.isPickable && sprite.actionManager && sprite.actionManager.hasPointerTriggers;
                 return sprite.isPickable && sprite.actionManager && sprite.actionManager.hasPointerTriggers;
             };
             };
@@ -777,13 +784,21 @@
 
 
 
 
             var eventPrefix = Tools.GetPointerPrefix();
             var eventPrefix = Tools.GetPointerPrefix();
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "move", this._onPointerMove, false);
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "down", this._onPointerDown, false);
-            this._engine.getRenderingCanvas().addEventListener(eventPrefix + "up", this._onPointerUp, false);
 
 
-            // Wheel
-            this._engine.getRenderingCanvas().addEventListener('mousewheel', this._onPointerMove, false);
-            this._engine.getRenderingCanvas().addEventListener('DOMMouseScroll', this._onPointerMove, false);
+            if (attachMove) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "move", this._onPointerMove, false);
+                // Wheel
+                this._engine.getRenderingCanvas().addEventListener('mousewheel', this._onPointerMove, false);
+                this._engine.getRenderingCanvas().addEventListener('DOMMouseScroll', this._onPointerMove, false);
+            }
+
+            if (attachDown) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "down", this._onPointerDown, false);
+            }
+
+            if (attachUp) {
+                this._engine.getRenderingCanvas().addEventListener(eventPrefix + "up", this._onPointerUp, false);
+            }
 
 
             Tools.RegisterTopRootEvents([
             Tools.RegisterTopRootEvents([
                 { name: "keydown", handler: this._onKeyDown },
                 { name: "keydown", handler: this._onKeyDown },