Commit graph

695 commits

Author SHA1 Message Date
Richard Davey
181be88ba9 Updated to use game clock time values. 2019-04-24 10:48:03 +01:00
Richard Davey
6b5383a007 Key now needs a reference to the plugin that created it. Also added getDuration method. 2019-04-24 10:47:51 +01:00
Richard Davey
d7917789eb Added destroy argument to removeKey and cleared plugin reference. 2019-04-24 10:47:22 +01:00
Richard Davey
fd4f45673b Pointer.getDuration would only return zero until the pointer was released, or moved (basically any action that generated a DOM event). It now returns the duration regardless of the DOM events. Fix #4444 2019-04-24 10:08:56 +01:00
Richard Davey
31c0b4f2ff Update now always runs but only once per frame 2019-04-24 10:04:13 +01:00
Richard Davey
95b18ae6e0 Refined poll rate handling and added pluginUpdate 2019-04-24 10:03:58 +01:00
Richard Davey
43c72e23c6 Fixed issue with input events running twice 2019-04-24 09:34:40 +01:00
Richard Davey
e0255c6f0f Docs fix 2019-04-16 17:08:19 +01:00
Richard Davey
0cfbc7917e The InputPlugin will now dispatch an update event regardless, allowing the Gamepad Plugin to update itself every frame, regardless of DOM events. This allows Gamepads to work correctly again. Fix #4414 2019-04-08 14:39:28 +01:00
Richard Davey
0ee2442597 Bumping to 3.17.0 2019-03-07 12:31:06 +00:00
Richard Davey
341e78ce0d Added touch Window handlers and remove handlers 2019-02-22 02:26:52 +00:00
Richard Davey
c90ae09f9f Added window specific handlers
And game config option:

```
    input: {
        windowEvents: false
    },
```
2019-02-22 02:11:13 +00:00
Richard Davey
0db663d901 More typedefs 2019-02-13 15:38:50 +00:00
Richard Davey
3938675d9f Input typedefs 2019-02-13 14:17:36 +00:00
Richard Davey
c8439393fb Much better keycode jsdoc handling. 2019-02-12 12:51:43 +00:00
Richard Davey
dc73993fe2 Added jsdoc version numbers 2019-02-12 12:22:25 +00:00
Richard Davey
ccaae460a4 Added jsdoc version numbers to each event 2019-02-12 11:37:58 +00:00
Richard Davey
3104246386
Merge pull request #4347 from rgk/patch-5
On mobile, have pointerup and pointerout get triggered together.
2019-02-10 21:17:24 +00:00
Richard Davey
f3f65d1437 Refactored the game over and out handling to work with the non-legacy input system. Fix #4344 2019-02-10 17:10:13 +00:00
Robert Kowalski
6105c1a9b2
Emit pointerout always after pointerup on touch.
Now pointerout will always emit after pointerup.
2019-02-08 09:33:25 -05:00
Richard Davey
6cd17618b1 Moved time to getter and fixed checkDown. 2019-02-08 13:32:54 +00:00
Richard Davey
7f91956c09 Added time property and preStep. 2019-02-08 13:32:44 +00:00
Richard Davey
916a13cf9d resetKeys doc update. Fix #4345 2019-02-07 00:31:10 +00:00
Robert Kowalski
b94f655405
Only needs to be cleared once.
No need for the duplicate clearing of this, and quick fix.
2019-02-06 11:38:50 -05:00
Robert Kowalski
8cd8b6f98e
Stops pointerover from being triggered if pointerup has been.
In 3.16.1 if you trigger pointerup and then move to another button, the past buttons pointerover event gets triggered. This clears that and stops that from happening by stopping pointerover from being triggered if pointerup has been.
2019-02-06 11:27:22 -05:00
Richard Davey
4cfa29a524 Added flag to help avoid cursor reset issue 2019-02-04 23:29:10 +00:00
Richard Davey
d04232ae54 JSDoc fixes 2019-02-04 11:45:17 +00:00
Richard Davey
348306cafb Lots more jsdoc fixes and new documentation 2019-01-31 14:47:50 +00:00
Richard Davey
3d5d84c01f Stop listener 2019-01-29 23:22:29 +00:00
Richard Davey
1c0acc2342 Needs to listen for the PROCESS event, plus emit keydown_ as well. 2019-01-29 23:21:54 +00:00
Richard Davey
fb0c4af780 Trim the keycodes 2019-01-29 23:21:34 +00:00
Richard Davey
eb78cf90c6 Swapped to using the Scene iteration approach instead of an event, as it fixes the issue with Scene ordering and global priority. Fix #4327 #4321 2019-01-29 01:05:27 +00:00
Richard Davey
aa967cdbc0 Removed process listener. 2019-01-29 01:04:09 +00:00
Richard Davey
6d77884b92 Removed un-needed methods and reset keys on focus loss. Fix #4134 2019-01-24 11:55:34 +00:00
Richard Davey
508df48512 Apply buttons check in move handler too. 2019-01-23 23:17:52 +00:00
Richard Davey
67679f58f6 Return actual booleans from button checks and reset buttons to zero correctly. 2019-01-23 23:00:29 +00:00
Richard Davey
8111d8062e Pointer.up and Pointer.down now use a hasOwnProperty check for the existance of the buttons property on the event, causing it to be set even if equal to zero, which it is when there are no buttons down 2019-01-23 22:34:48 +00:00
Richard Davey
b3bc1cebfd Support the Input Manager useQueue flag. 2019-01-23 15:51:42 +00:00
Richard Davey
b60a2df8ad Refactor of the Input Manager to allow for direct DOM Event dispatching. 2019-01-23 15:51:26 +00:00
Richard Davey
9651d4dba1 New Input Manager process event. 2019-01-23 15:50:57 +00:00
Richard Davey
fb5882f078 Updated docs 2019-01-23 15:29:23 +00:00
Richard Davey
1eccff1e3b Fixed jsdoc links and markdown bullet lists 2019-01-18 15:20:56 +00:00
Richard Davey
bc962c25dc All listeners use the new Events 2019-01-18 13:41:43 +00:00
Richard Davey
1d85795360 Listen for the new Events 2019-01-17 11:31:22 +00:00
Richard Davey
f934066864 Added Key Events. 2019-01-17 11:17:25 +00:00
Richard Davey
dde0233efd Added Gamepad Events 2019-01-17 10:35:13 +00:00
Richard Davey
c3ab9ddee3 Added Input Manager events 2019-01-17 10:35:02 +00:00
Richard Davey
e4902e3b2c Removed old event docs 2019-01-17 10:34:41 +00:00
Richard Davey
e364b64a57 Added the rest of the input events! 2019-01-16 13:12:07 +00:00
Richard Davey
01905f0cb6 Added lots of the Input Events 2019-01-16 12:13:30 +00:00
Richard Davey
078d0c0e1d Added new EventData typedef 2019-01-16 12:13:14 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
e882218fc4 Renamed boot to core and updated events accordingly 2019-01-15 16:17:04 +00:00
Richard Davey
d161c7f253 Corrected jsdocs 2019-01-11 19:16:43 +00:00
Richard Davey
9bed15bc53 Moving lots of functionality to the Scale Manager
* `InputManager.scaleManager` is a new property that is a reference to the Scale Manager. This is populated in the `boot` method.
* The `InputManager.transformX` method has been removed. This is now available in the ScaleManager.
* The `InputManager.transformY` method has been removed. This is now available in the ScaleManager.
* The `InputManager.scale` property has been removed. This is now available in the ScaleManager under `displayScale`.
* The `InputManager.resize` method has been removed as this process is now handled by the ScaleManager.
* The `InputManager.updateBounds` method has been removed as this process is now handled by the ScaleManager.
* The `InputManager.getOffsetX` method has been removed as it's no longer required.
* The `InputManager.getOffsetY` method has been removed as it's no longer required.
* The `InputManager.getScaleX` method has been removed as it's no longer required.
* The `InputManager.getScaleY` method has been removed as it's no longer required.
2019-01-11 12:12:06 +00:00
Richard Davey
21c9326e07 Change when dragState is populated. Fix #4278 2019-01-05 10:03:11 +00:00
Richard Davey
730c84e3e3 Draggable Game Objects would not work if you had multiple Scenes running in parallel, with draggable objects in both of them. Only the top-most Scene would work fully. Items in the bottom Scene would never finish their drag cycle, causing them to get stuck. Fix #4249 2019-01-04 16:34:59 +00:00
Richard Davey
9a7058915c Removed dragState property. 2019-01-04 16:34:53 +00:00
Richard Davey
36f08d83e6 The processDomCallbacks method in the Input Manager wasn't correctly clearing the once arrays. Responsibility for this has now been passed to the queue methods queueTouchStart, queueTouchMove, queueTouchEnd, queueMouseDown, queueMouseMove and queueMouseUp. Fix #4257 2019-01-04 14:03:21 +00:00
Richard Davey
7aabb98b8e Re-enabled IM 2018-12-18 17:29:15 +00:00
Richard Davey
b8fbd0d2c0 keydown and keyup events now fire for every possible key, no matter if they exist in the KeyCodes list or not. 2018-12-12 16:50:04 +00:00
Richard Davey
50502cfb63 Added emitOnRepeat boolean 2018-12-07 19:28:25 +00:00
Richard Davey
1df20f9070 Keyboard events can now be blocked on a local or global level. 2018-12-06 11:35:16 +00:00
Richard Davey
715e6d3c15 Added key capturing methods. 2018-12-05 16:07:47 +00:00
Richard Davey
114d61cf59 Added capture handling and event queue. 2018-12-05 16:02:29 +00:00
Richard Davey
97805afab0 Input Manager now creates Keyboard Manager. 2018-12-05 16:01:39 +00:00
Richard Davey
7431f0a621 No longer required. 2018-12-05 15:58:53 +00:00
Richard Davey
dd051ddc03 Added event handlers and event emitter. 2018-12-05 15:58:44 +00:00
Richard Davey
606a3832c1 Moving to a global keyboard manager for the DOM events. 2018-12-05 11:16:45 +00:00
Richard Davey
1b28080575 Added pointerupoutside and pointerdownoutside events. 2018-11-29 13:44:42 +00:00
Richard Davey
5b5b83d269 Added downElement and upElement properties 2018-11-29 13:44:18 +00:00
Richard Davey
a065bf1b46 Added global touchstart handler. 2018-11-29 13:42:40 +00:00
Richard Davey
b8f7ecb317 Removed Vec2 and added global handlers with capture tests. 2018-11-29 13:42:26 +00:00
Richard Davey
f2de618b24 Touch Manager will now handle focus events as well. 2018-11-28 13:13:44 +00:00
Richard Davey
5623515c41 Mouse Manager will track over and out states and auto focus. 2018-11-28 13:13:25 +00:00
Richard Davey
4b50065dfd Touch Manager will track over and out canvas states. 2018-11-28 13:11:13 +00:00
Richard Davey
4a312f16db Input Plugin will now emit a gameover or gameout event and has an isOver property. 2018-11-28 13:10:54 +00:00
Richard Davey
0d2197d9f7 Added new isOver property and method handlers. 2018-11-28 13:10:25 +00:00
Richard Davey
524892f095 Fixed angle value and facing direction 2018-11-26 15:42:53 +00:00
Richard Davey
a74616b090 Added getDistanceX and getDistanceY 2018-11-26 15:35:18 +00:00
Richard Davey
41e64b9f53 Added time property, getDistance, getDuration and getAngle. 2018-11-26 13:11:24 +00:00
Richard Davey
d2cb4a4006 Pass the time to Pointer.reset 2018-11-26 13:10:54 +00:00
Richard Davey
b437efa642 Removed un-used function 2018-11-26 11:29:13 +00:00
Richard Davey
f51de18bb2 Updated docs and added quick bail-out clause 2018-11-26 11:27:02 +00:00
Richard Davey
93a76475ea The Input Plugin was emitting a preUpdate event, with the capital U, instead of preupdate. This has now been corrected. Fix #4185 2018-11-26 11:13:25 +00:00
Richard Davey
d596fbd8c0 Added distance property. 2018-11-24 13:04:14 +00:00
Richard Davey
f6efccb29a Added motionFactor property. 2018-11-24 12:52:20 +00:00
Richard Davey
c32a69acaf Added midPoint and updateMotion calculations 2018-11-24 12:47:19 +00:00
Richard Davey
0f97be3624 Restored pointer smoothing 2018-11-24 12:47:01 +00:00
Richard Davey
390f34c8d9 Removed test code 2018-11-24 12:46:49 +00:00
Richard Davey
51a9b3bd4a Recording positon tests 2018-11-23 19:06:59 +00:00
Richard Davey
21fa1960f3 Testing delta store 2018-11-23 19:06:47 +00:00
Richard Davey
b9fb1ddbf4 Added call to updateMotion 2018-11-23 18:58:13 +00:00
Richard Davey
1650857878 Removed debug tests 2018-11-23 16:26:49 +00:00
Richard Davey
370ccb6854 Removed debug properties. 2018-11-23 16:25:31 +00:00
Richard Davey
69a0dcc9cf Remove debug data. 2018-11-23 16:23:47 +00:00
Richard Davey
d6bee1bbd1 Working through event debugging - don't pull this version unless you want logs everywhere! 2018-11-22 17:18:31 +00:00
Richard Davey
7c00bd4dc8 Added Pointer.velocity and Pointer.angle as they're so common for gesture calculations. 2018-11-20 17:03:22 +00:00
Richard Davey
0c43da0211 Fixed jsdoc link, added smooth factor setter and updated transformPointer method. 2018-11-19 15:31:06 +00:00
Richard Davey
57084cb65e Added Pointer.smoothFactor property, and pass new boolean to input manager. 2018-11-19 15:30:42 +00:00