Commit graph

544 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
Richard Davey
57e32761df Started work on multi-touch support. 2018-05-25 19:28:18 +01:00
Richard Davey
20d702c011 Added identifier properties for multi-touch 2018-05-25 19:28:02 +01:00
Richard Davey
700a26a196 Input systems listen to Input Manager events rathern than being directly hooked in 2018-05-25 19:27:26 +01:00
Richard Davey
57c2ccbf5e Formatting fix and doc update 2018-05-24 14:03:29 +01:00
Richard Davey
37f75fd233
Merge pull request #3675 from tjb295/master
Bug: #3645 issue with clearing GameObjects from this._list. Called qu…
2018-05-24 13:51:55 +01:00
Richard Davey
8aa116ca4b The dragend event would be broadcast even if the drag distance or drag time thresholds were not met. Fix #3686 2018-05-22 21:24:50 +01:00
Thomas Back
67b2cea130 Bug: #3645 issue with clearing GameObjects from this._list. Called queueForRemoval() from the clear function in inputPlugin.js, since this.clear(Gameobject) called again in preupdate when removed from this._list, checked the case for if GameObject.input already set to null properties 2018-05-18 10:33:43 -07:00
Richard Davey
4c1703768d Docs update 2018-05-18 17:37:20 +01:00
Richard Davey
ef2b8d68b6 setInteractive now works on non-zero sized Containers. Sorting fixed. 2018-05-18 12:48:12 +01:00
Richard Davey
2f4358fed4 The keycodes for 0 to 9 on the numeric keypad have been added. You can now use them in events 2018-05-15 15:57:26 +01:00
Richard Davey
350cb037b7 All systems now register themselves with the new PluginCache 2018-05-15 12:51:50 +01:00
Richard Davey
d595da49fd Now use the prestep event to update instead 2018-05-11 01:50:02 +01:00
Richard Davey
be330e609e Moved PluginManager to new location 2018-05-10 17:14:33 +01:00
Richard Davey
349a95bc4b Updating to 3.6.0 2018-04-19 14:45:45 +01:00
Richard Davey
895c9f9694 Missing module fix 2018-04-19 12:39:28 +01:00
Richard Davey
32ce8d7947 jsdoc fixes and removed un-used ResetKey file. 2018-04-19 12:30:38 +01:00
Richard Davey
55965c748f jsdoc fixes 2018-04-18 12:13:49 +01:00
Richard Davey
1be486fab4 destroy only called once, no matter how many times the Scene restarts. Fix #3581 2018-04-17 12:25:45 +01:00
Richard Davey
07a55e5d1f Removed debug call and merged Scene Systems boot and start sequences. Fix #3579 2018-04-17 02:34:07 +01:00
Richard Davey
18585de81d Lots of jsdoc fixes 2018-04-16 14:43:24 +01:00
Richard Davey
ce7d67297f Moving from 3.4.1 to 3.5.0 so we can release new camera fx and scene transitions 2018-04-15 12:44:47 +01:00
Richard Davey
b5ba6a6afb Added enabled property 2018-04-14 04:23:11 +01:00
Richard Davey
6b2307594a Scene plugin flow overhaul
Every Plugin has been updated to correctly follow the same flow through the Scene lifecycle. Instead of listening for the Scene 'boot' event, which is only dispatched once (when the Scene is first created), they will now listen for the Scene 'start' event, which occurs every time the Scene is started. All plugins now consistently follow the same Shutdown and Destroy patterns too, meaning they tidy-up after themselves on a shutdown, not just a destroy. Overall, this change means that there should be less issues when returning to previously closed Scenes, as the plugins will restart themselves properly.
2018-04-13 17:12:17 +01:00
Richard Davey
5612336d47 Containers flag 2018-04-12 22:46:46 +01:00
Richard Davey
2e722b0a92 debugging tests 2018-04-12 16:28:14 +01:00
Richard Davey
ad4109aece Updated sortHandlerGO to handle any depth containers. 2018-04-12 02:11:40 +01:00
Richard Davey
60cd5ab22b Tighter dropzone test and container warning 2018-04-11 11:25:31 +01:00
Richard Davey
04990d6870 Input checks for container parents 2018-04-09 16:42:51 +01:00
Christian Panadero
c08f769351 Add keyboardManaged#createCursorKeys typedefs 2018-04-06 18:17:58 +01:00
José Maria
100eafe1a4
fix drag/overlap interaction
changes: when dragend resets draglist. 
this fixes overoutevents from a gameobject not firing after being drag.
2018-04-04 18:09:18 -03:00
Richard Davey
c251eceaf6 jsdoc fixes 2018-04-04 14:43:53 +01:00
Richard Davey
11512e1db2 Keyboard.JustDown and Keyboard.JustUp were being reset too early, causing them to fail when called in update loops. Fix #3490 2018-04-03 16:33:13 +01:00
Richard Davey
316da3f2d9 jsdocs update. Fix #3477 2018-04-03 14:08:22 +01:00
Richard Davey
2a35a20fcb Swapped for enum 2018-03-30 14:16:42 +01:00
Richard Davey
a86fc19d3c jsdoc fix 2018-03-30 14:12:09 +01:00
Richard Davey
71045265ae The Gamepad Axis getValue method now correctly applies the threshold and zeroes out the returned value. 2018-03-30 12:33:45 +01:00
Richard Davey
88a228e226 jsdoc fix 2018-03-30 12:33:31 +01:00
Richard Davey
f6167f6fcf The GamepadManager now extends EventEmitter directly, just like the KeyboardManager does. 2018-03-30 12:03:06 +01:00
Richard Davey
19f7e2589a jsdoc fix 2018-03-30 12:02:08 +01:00
Richard Davey
91008232ad jsdoc fixes 2018-03-29 13:12:07 +01:00
Richard Davey
747f09af86 jsdoc fixes 2018-03-28 15:04:09 +01:00
Richard Davey
2b533d9870 Renamed file 2018-03-28 15:03:54 +01:00
orblazer
d0e1320cbe Add generic types and fix types on Input and Structs 2018-03-27 15:59:49 +02:00
Richard Davey
0ef92e1172 Merge branch 'pr/3439' 2018-03-21 16:06:56 +00:00
orblazer
439df07fd5 Fix "object" type on GameObjects and Input 2018-03-21 12:19:31 +01:00
Richard Davey
db613c793a Merge branch 'master' of https://github.com/photonstorm/phaser 2018-03-21 03:17:00 +00:00
Richard Davey
8a3f06c898 Todo note 2018-03-21 03:16:55 +00:00
orblazer
7fba122321 Fix "any" types 2018-03-20 17:15:49 +01:00
orblazer
dca7996179 Fix multiple types on Physics, Texture and Input 2018-03-20 16:10:19 +01:00
orblazer
b4a30b8e43 Add callbacks on GameObjects 2018-03-19 22:27:16 +01:00