1- var EventDispatcher = require ( '../../events/EventDispatcher' ) ;
2- var Event = require ( './events' ) ;
1+ // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent
2+ // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
33
44var MouseManager = function ( inputManager )
55{
@@ -9,25 +9,13 @@ var MouseManager = function (inputManager)
99
1010 this . target ;
1111
12- this . events = new EventDispatcher ( ) ;
13-
14- this . mouseHandler ;
15-
16- // Standard FIFO queue
17- this . queue = [ ] ;
12+ this . handler ;
1813} ;
1914
2015MouseManager . prototype . constructor = MouseManager ;
2116
2217MouseManager . prototype = {
2318
24- /**
25- * The Boot handler is called by Phaser.Game when it first starts up.
26- * The renderer is available by now.
27- *
28- * @method Phaser.Input.MouseManager#boot
29- * @private
30- */
3119 boot : function ( )
3220 {
3321 var config = this . manager . gameConfig ;
@@ -48,9 +36,9 @@ MouseManager.prototype = {
4836
4937 startListeners : function ( )
5038 {
51- var queue = this . queue ;
39+ var queue = this . manager . queue ;
5240
53- var mouseHandler = function ( event )
41+ var handler = function ( event )
5442 {
5543 if ( event . preventDefaulted )
5644 {
@@ -61,58 +49,19 @@ MouseManager.prototype = {
6149 queue . push ( event ) ;
6250 } ;
6351
64- this . mouseHandler = mouseHandler ;
52+ this . handler = handler ;
6553
66- this . target . addEventListener ( 'mousemove' , mouseHandler , false ) ;
67- this . target . addEventListener ( 'mousedown' , mouseHandler , false ) ;
68- this . target . addEventListener ( 'mouseup' , mouseHandler , false ) ;
54+ this . target . addEventListener ( 'mousemove' , handler , false ) ;
55+ this . target . addEventListener ( 'mousedown' , handler , false ) ;
56+ this . target . addEventListener ( 'mouseup' , handler , false ) ;
6957 } ,
7058
7159 stopListeners : function ( )
7260 {
73- this . target . removeEventListener ( 'mousemove' , this . mouseHandler ) ;
74- this . target . removeEventListener ( 'mousedown' , this . mouseHandler ) ;
75- this . target . removeEventListener ( 'mouseup' , this . mouseHandler ) ;
76- } ,
77-
78- // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent
79- // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
80-
81- update : function ( )
82- {
83- var len = this . queue . length ;
84-
85- if ( ! this . enabled || len === 0 )
86- {
87- return ;
88- }
89-
90- // Clears the queue array, and also means we don't work on array data that could potentially
91- // be modified during the processing phase
92- var queue = this . queue . splice ( 0 , len ) ;
93-
94- // Process the event queue, dispatching all of the events that have stored up
95- for ( var i = 0 ; i < len ; i ++ )
96- {
97- var event = queue [ i ] ;
98-
99- switch ( event . type )
100- {
101- case 'mousemove' :
102- this . events . dispatch ( new Event . MOUSE_MOVE_EVENT ( event ) ) ;
103- break ;
104-
105- case 'mousedown' :
106- this . events . dispatch ( new Event . MOUSE_DOWN_EVENT ( event ) ) ;
107- break ;
108-
109- case 'mouseup' :
110- this . events . dispatch ( new Event . MOUSE_UP_EVENT ( event ) ) ;
111- break ;
112- }
113- }
61+ this . target . removeEventListener ( 'mousemove' , this . handler ) ;
62+ this . target . removeEventListener ( 'mousedown' , this . handler ) ;
63+ this . target . removeEventListener ( 'mouseup' , this . handler ) ;
11464 }
115-
11665} ;
11766
11867module . exports = MouseManager ;
0 commit comments