Commit graph

494 commits

Author SHA1 Message Date
Richard Davey
d6c2b1104b Replace KeyboardManager with KeyboardPlugin 2018-06-12 14:44:51 +01:00
Richard Davey
d058674a39 eslint fix 2018-06-11 14:42:50 +01:00
Richard Davey
f26bd913e9 Disable Camera.cull because #3679 excludes everything in view (and reverting it includes everything, so no point even culling atm) 2018-06-11 14:04:15 +01:00
Richard Davey
5313343730 Pointers capped at 10 max. 2018-06-11 13:39:28 +01:00
Richard Davey
dfce514024 Fixed docs and added useHandCursor helper. 2018-06-11 11:50:37 +01:00
Richard Davey
c74c1cbb32 Added setDefaultCursor method and custom css cursor handling. 2018-06-11 11:36:02 +01:00
Richard Davey
da436b0ce7 Added custom cursor property 2018-06-11 11:35:40 +01:00
Richard Davey
5c7e624260 setInteractive will now take a configuration object as the only argument, allowing for easier setting of more complex input values 2018-06-11 11:35:31 +01:00
Richard Davey
5889737183 Preparing for cursor change support 2018-06-08 19:04:12 +01:00
Richard Davey
44569fe20c Added useHandCursor boolean 2018-06-08 19:04:01 +01:00
Richard Davey
140e743a8d Added docs and fixed lint issue 2018-06-08 18:24:08 +01:00
Richard Davey
4304811dde Added new Pixel Perfect input handler and makePixelPerfect method. 2018-06-08 17:50:47 +01:00
Richard Davey
87c950a5ea Fixed jsdocs 2018-06-08 16:18:39 +01:00
Richard Davey
529442f134 Only install the plugin if set in Scene settings / Game Config 2018-06-08 16:18:32 +01:00
Richard Davey
8148b14cc3 Removed references to the Gamepad 2018-06-08 16:18:20 +01:00
Richard Davey
680d34b3c4 Convert Gamepad Manager to an Input Plugin 2018-06-08 16:17:58 +01:00
Richard Davey
02554984fe Removed KeyboardManager and replaced with KeyboardPlugin
The `KeyboardManager` class has been removed. It has been replaced with `KeyboardPlugin` which is now an Input level plugin, that registers itself with the new `InputPluginCache`. The Input Plugin class (which belongs to a Scene) will now automatically inject registered plugins into itself on boot. Every Scene has its own instance of the Input Plugin (if enabled in the scene plugins), which in turn has its own instance of the KeyboardPlugin. The `InputManager` no longer has any reference to the Keyboard class at all. The benefits of this are two-fold: First, it allows you to now entirely exclude all of the keyboard classes from a custom build, saving a lot of space if not required. Secondly, it means that the Scenes themselves are now responsible for keyboard events, where-as before they were entirely global. This means a Scene can be paused and stop processing keyboard events, and stop having its Key objects updated, while another Scene can still carry on doing this. It also prevents key related callbacks in sleeping Scenes from being fired (which resolves issue #3733, thanks @JoeMoov2)
2018-06-08 15:16:35 +01:00
Richard Davey
11c5c35149 The new Input Plugin cache 2018-06-08 15:15:36 +01:00
Richard Davey
fc0069d9da Removed all references to keyboard 2018-06-08 15:15:21 +01:00
Chris Andrew
f8ee35d46a Fixed Gamepad lint errors, tweaked some Graphics docs. 2018-06-07 18:36:27 +01:00
Richard Davey
5f1fff6d48 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-06-07 16:36:36 +01:00
Richard Davey
cfa436f158 Added new methods 2018-06-07 16:36:32 +01:00
Chris Andrew
8d926754cb Fixed lint issues in Gamepad and GamepadManager. 2018-06-07 16:04:27 +01:00
Richard Davey
0180a684ca Added leftStick and rightStick properties and shoulder buttons 2018-06-07 14:30:16 +01:00
Richard Davey
aa8d207485 Recoded gamepad event flow, moved to direct handlers, exposed first 4 pads, added full docs 2018-06-06 23:05:10 +01:00
Richard Davey
4c4a415dc3 Added docs, axis and button getters 2018-06-06 23:04:38 +01:00
Richard Davey
1518551c43 Added docs, destroy method, and updated update 2018-06-06 23:04:11 +01:00
Richard Davey
12b6825854 Added docs and destroy method 2018-06-06 23:03:59 +01:00
Richard Davey
b18183fb9f Added docs 2018-06-06 23:03:44 +01:00
Richard Davey
a2c20a9aa7 lint fixes 2018-06-05 01:08:32 +01:00
Richard Davey
8b7256cb86 Pointers now iterate the full camera list, starting at the top. Fix #3631. 2018-06-04 22:14:58 +01:00
Richard Davey
719a2eedca Interactive Objects inside of Containers would still fire their input events even if the Container (or any ancestor) was set to be invisible. Objects now check their ancestor tree during the input cull and now properly skip input events if not visible. Fix #3620 2018-06-04 21:04:27 +01:00
Richard Davey
f411edf987 Added jsdocs. 2018-06-04 17:11:53 +01:00
Richard Davey
c847f3459e addKey and removeKey can take Key objects now. Plus finished the docs. 2018-06-04 17:03:31 +01:00
Richard Davey
7a01354a8a Added to the docs 2018-06-04 16:49:11 +01:00
Richard Davey
97fa3ab2c0 KeyboardManager.addKeys can now take either an object or key codes, or a comma-separated string, as its input. 2018-06-04 16:49:03 +01:00
Richard Davey
9eec66654f Keyboard Manager updates
* KeyboardManager.handler has been removed as it's no longer used internally.
* The KeyboardManager.captures property has been removed as it can be more effectively handled by polling the `keys` object instead.
* The Keyboard Manager will no longer process key down or up events if its `enabled` property is set to false.
* The Keyboard Manager will now call `event.preventDefault` on the native DOM event as long as the Key exists in the keys array and has its `preventDefault` property set to `true` (which is the default). This means you can now control specifically which key prevents default on the browser, where-as before every key added did so.
2018-06-04 15:57:52 +01:00
Richard Davey
f280fb118b Typo fix 2018-06-04 15:57:41 +01:00
Richard Davey
6906e6bd15 Hundreds more jsdocs completed. 2018-06-04 15:19:25 +01:00
Richard Davey
61c5f76d63 Added transformPointer method which Pointer now uses. 2018-06-04 15:19:11 +01:00
Richard Davey
3b30fcff89 Added jsdocs 2018-06-04 13:24:47 +01:00
Richard Davey
7c0c3cd5a8 Updated hitTest call and added jsdocs 2018-06-04 13:23:51 +01:00
Richard Davey
4115b10c80 Added jsdocs 2018-06-04 13:23:34 +01:00
Richard Davey
285b811625 Pointer has two new properties worldX and worldY which contain the position of the Pointer, translated into the coordinate space of the most recent Camera it interacted with. 2018-06-04 13:23:27 +01:00
Chris Andrew
fd715f9a34 Fixed lint error in InputManager.update(). 2018-05-31 15:19:35 +01:00
Richard Davey
594fc3e27b Added new dom callback support, streamlined the event flow, moved to consts 2018-05-30 00:33:51 +01:00
Richard Davey
f79ee26945 Proxy to the dom callback methods 2018-05-30 00:33:28 +01:00
Richard Davey
bdc95217ae Calls new manager queue methods 2018-05-30 00:33:16 +01:00
Richard Davey
5db2bf5cbd Moved the event switch block from strings to consts 2018-05-30 00:32:45 +01:00
Richard Davey
45c373f9f4 Multi-touch support working properly up to 10 pointers and mouse re-enabled. 2018-05-29 16:55:52 +01:00