Commit graph

370 commits

Author SHA1 Message Date
Richard Davey
c9742b6f8a Added jsdocs 2018-02-10 02:08:53 +00:00
Richard Davey
40689d1e35 Updated jsdocs. 2018-02-07 15:27:21 +00:00
Richard Davey
2a86400a28 Added in jsdocs 2018-01-31 13:54:44 +00:00
Richard Davey
a802914243 Added in destroy methods for all managers and invoked them from Game 2018-01-31 03:38:10 +00:00
Richard Davey
a6dbacbc20 Added jsdocs. 2018-01-26 12:43:51 +00:00
Richard Davey
fabaa493ef jsdoc work 2018-01-26 06:55:15 +00:00
Richard Davey
cb2891db8a Added jsdocs to the Device inspector, removed out-dated properties and changed case of Device access 2018-01-25 17:03:35 +00:00
Richard Davey
cb3166850e Fixed issue with Keyboard events for single key presses. Added new KeyMap. 2018-01-23 14:37:32 +00:00
Richard Davey
eb3c9fe341 Fix for the read-only DOMRect issue flagged in #3176 2018-01-22 12:04:14 +00:00
Richard Davey
d9da905230 Added XBox360 Controller config (closes #3175) 2018-01-20 14:25:28 +00:00
Richard Davey
05b45f1f9c Added keycodes (closes #3174) 2018-01-20 14:22:41 +00:00
Richard Davey
4e05ad0655 The Input system will now order input based on the scenes from top to bottom
If the global top only flag is on and a scene consumes an input event then they won't flow any further down the scene list. This is optional (but on by default), allowing you to now correctly create a UI Scene above a game scene without the input events polluting one to the other.
2018-01-20 04:44:54 +00:00
Richard Davey
2deb9edc9e Plugins now check to see if the Scene is already booted and adapt accordingly. 2018-01-18 14:00:31 +00:00
Richard Davey
5a333bc2fd Updated to new Plugin format, removed injection and mapping 2018-01-18 05:18:09 +00:00
Richard Davey
e017a71f32 Game emits a boot event, which its managers listen for 2018-01-18 05:16:52 +00:00
Richard Davey
dbfd73dea1 Pointer.reset no longer resets the isDown state or buttons 2018-01-18 00:59:38 +00:00
Richard Davey
ad49a01271 Fixed rogue input reference and hitTest signature 2018-01-16 23:50:01 +00:00
Richard Davey
f9a7939812 Lots of work migrating to the new plugin system, fixing references and exposing on the namespace 2018-01-16 22:28:29 +00:00
Dan Flettre
36de5e8805 Pass event to ProcessKeyCombo 2018-01-16 11:24:40 -06:00
Richard Davey
26fd3ee661 Renamed input manager files and refs. 2018-01-16 16:14:21 +00:00
Richard Davey
b4a01bb877 Moved file. 2018-01-16 16:02:11 +00:00
Richard Davey
08f3e70b6d Merged Input Manager source and updated paths. 2018-01-16 16:00:37 +00:00
Richard Davey
2c5405b7e3 Moved GIM 2018-01-16 15:47:53 +00:00
Richard Davey
42409762e9 Merged Input Manager source. 2018-01-16 15:46:49 +00:00
Richard Davey
696643051a Fixed drag events 2018-01-14 21:26:14 +00:00
Richard Davey
f9a1e27334 Removed un-used event files and references. 2018-01-12 17:20:16 +00:00
Richard Davey
874a174af7 Fixed lint issue. 2018-01-12 17:20:00 +00:00
Richard Davey
c625b8735b Updated to using Event Emitter for all key managers and game objects. Events are now dispatched directly using arguments instead of Event objects, all managers updated to emit directly. 2018-01-12 17:09:21 +00:00
Richard Davey
296efe0e07 Removed input callbacks as all handled via events now. 2018-01-12 17:09:20 +00:00
Dan Flettre
16b672e291 set data to KeyCombo for KeyComboMatchEvent 2018-01-11 18:14:45 -06:00
Richard Davey
d8f1ba03e9 Moved repository location 2018-01-09 21:43:56 +00:00
Richard Davey
0d90f75b5f Splitting the dev branch up into versions. 2016-11-22 01:36:56 +00:00
Richard Davey
13d8f332f4 Drag events. 2016-11-10 00:53:29 +00:00
Richard Davey
fb8da7ac08 Fixed transform look-up. 2016-11-10 00:41:15 +00:00
Richard Davey
89885dcb7c Refactored the Input Manager. 2016-11-10 00:10:39 +00:00
photonstorm
1e15012a91 PIXI.CanvasPool has been moved into the Phaser utils folder, and renamed to Phaser.CanvasPool. All references to PIXI.CanvasPool have been updated to match the new namespace. 2016-09-28 12:53:04 +01:00
photonstorm
ad0e4aca2e Large batch of jshint fixes. 2016-08-25 13:03:41 +01:00
photonstorm
04e70e820c Updated KeyCode docs placement #2653 2016-08-18 15:35:43 +01:00
photonstorm
94498fcd32 The InputHandler.flagged property has been removed. It was never used internally, or exposed via the API, so was just overhead. 2016-07-11 14:17:41 +01:00
photonstorm
ee202667ed Huge docs update for all of the Game Object events. 2016-07-08 11:28:30 +01:00
photonstorm
cb0861d881 The canvas created by Phaser.Debug for use when displaying debug data is no longer stored in the CanvasPool, and is instead a stand-alone canvas, free from ever being re-used by another game object. 2016-07-04 12:56:52 +01:00
photonstorm
b24de1e561 Polygon.contains would only work with non-flattened Polygon objects. It now works with both flat and non-flat Polygons.
Graphics objects enabled for input would fail to do anything if a Phaser Polygon was given to the Graphics object (which it was in nearly all cases), as it wouldn't detect input correctly with flattened polygons (thanks @symbiane #2591)
2016-06-27 14:51:25 +01:00
Richard Davey
cd8bb5a216 Removed keyCode modifier (#2542) 2016-06-09 22:03:09 +01:00
Richard Davey
57642afc24 Fixed keyboard issue. 2016-06-09 20:55:21 +01:00
photonstorm
88f47e2497 Keyboard now uses a new internal method getKeyCode to normalize the key code value based on browser support. It first checks for event.key, then event.keyIdentifier and finally event.keyCode (thanks @SVasilev #2542) 2016-06-09 16:37:32 +01:00
photonstorm
a65f9c7e4b Group.onChildInputDown is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an onInputDown signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
Group.onChildInputUp is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputUp` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.

Group.onChildInputOver is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOver` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.

Group.onChildInputOut is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOut` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
2016-06-09 16:19:11 +01:00
photonstorm
c64749fef2 Added missing properties. 2016-06-09 14:54:39 +01:00
photonstorm
92d3a5efa8 Adds a callback that is fired every time 'Pointer.processInteractiveObjects' is called.
The purpose of `processInteractiveObjects` is to work out which Game Object the Pointer is going to
interact with. It works by polling all of the valid game objects, and then slowly discounting those
 that don't meet the criteria (i.e. they aren't under the Pointer, are disabled, invisible, etc).

Eventually a short-list of 'candidates' is created. These are all of the Game Objects which are valid
for input and overlap with the Pointer. If you need fine-grained control over which of the items is
selected then you can use this callback to do so.

The callback will be sent 3 parameters:

1) A reference to the Phaser.Pointer object that is processing the Items.
2) An array containing all potential interactive candidates. This is an array of `InputHandler` objects, not Sprites.
3) The current 'favorite' candidate, based on its priorityID and position in the display list.

Your callback MUST return one of the candidates sent to it.
2016-06-09 14:49:10 +01:00
photonstorm
7c2d1d4ab8 Pointer.interactiveCandidates is a new Array that is erased and re-populated every time this Pointer is updated. It contains references to all of the Game Objects that were considered as being valid for processing by this Pointer, during the most recent update. To be valid they must have suitable a priorityID, be Input enabled, be visible and actually have the Pointer over them. You can check the contents of this array in events such as onInputDown, but beware: it is reset every update.
Pointer.swapTarget allows you to change the `Pointer.targetObject` object to be the one provided. This allows you to have fine-grained control over which object the Pointer is targeting.
2016-06-09 14:36:15 +01:00
photonstorm
fa43bec19f PIXI.DisplayObjectContainer.ignoreChildInput is a new property. If true then the children will _not_ be considered as valid for Input events. Because this has been applied to DisplayObjectContainer it means it's available in Group, Sprite and any other display level object. Using this boolean you can disable input events for all children in an entire Group, without having to iterate anything or deep-set flags.
InputHandler._pointerOverHandler and _pointerOutHandler have new arguments `silent` - if `true` then they will not dispatch any Signals from the parent Sprite.
2016-06-09 14:32:56 +01:00