@@ -35,6 +35,11 @@ MouseManager.prototype = {
3535 this . enabled = config . inputMouse ;
3636 this . target = config . inputMouseEventTarget ;
3737
38+ if ( ! this . target )
39+ {
40+ this . target = this . manager . game . canvas ;
41+ }
42+
3843 if ( this . enabled )
3944 {
4045 this . startListeners ( ) ;
@@ -44,7 +49,6 @@ MouseManager.prototype = {
4449 startListeners : function ( )
4550 {
4651 var queue = this . queue ;
47- // var captures = this.captures;
4852
4953 var mouseHandler = function ( event )
5054 {
@@ -55,11 +59,6 @@ MouseManager.prototype = {
5559 }
5660
5761 queue . push ( event ) ;
58-
59- // if (captures[event.keyCode])
60- // {
61- // event.preventDefault();
62- // }
6362 } ;
6463
6564 this . mouseHandler = mouseHandler ;
@@ -77,30 +76,39 @@ MouseManager.prototype = {
7776 } ,
7877
7978 // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent
79+ // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
8080
8181 update : function ( )
8282 {
83- if ( ! this . enabled )
83+ var len = this . queue . length ;
84+
85+ if ( ! this . enabled || len === 0 )
8486 {
8587 return ;
8688 }
8789
8890 // Clears the queue array, and also means we don't work on array data that could potentially
8991 // be modified during the processing phase
90- var queue = this . queue . splice ( 0 , this . queue . length ) ;
92+ var queue = this . queue . splice ( 0 , len ) ;
9193
9294 // Process the event queue, dispatching all of the events that have stored up
93- for ( var i = 0 ; i < queue . length ; i ++ )
95+ for ( var i = 0 ; i < len ; i ++ )
9496 {
9597 var event = queue [ i ] ;
9698
97- if ( event . type === 'mousedown' )
99+ switch ( event . type )
98100 {
99- this . events . dispatch ( new Event . MOUSE_DOWN_EVENT ( event ) ) ;
100- }
101- else if ( event . type === 'mouseup' )
102- {
103- this . events . dispatch ( new Event . MOUSE_UP_EVENT ( event ) ) ;
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 ;
104112 }
105113 }
106114 }
0 commit comments