Skip to content

Commit 4ed0f90

Browse files
committed
Merged touch handler methods into one
1 parent befbc78 commit 4ed0f90

1 file changed

Lines changed: 96 additions & 176 deletions

File tree

src/input/InputManager.js

Lines changed: 96 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -465,178 +465,6 @@ var InputManager = new Class({
465465
}
466466
},
467467

468-
// event.targetTouches = list of all touches on the TARGET ELEMENT (i.e. game dom element)
469-
// event.touches = list of all touches on the ENTIRE DOCUMENT, not just the target element
470-
// event.changedTouches = the touches that CHANGED in this event, not the total number of them
471-
472-
/**
473-
* Called by InputManager.onTouchStart when a Touch Start Event is received.
474-
*
475-
* @method Phaser.Input.InputManager#startPointer
476-
* @private
477-
* @since 3.10.0
478-
*
479-
* @param {TouchEvent} event - The native DOM event to be processed.
480-
*
481-
* @return {Phaser.Input.Pointer[]} An array containing all the Pointer instances that were modified by this event.
482-
*/
483-
startPointer: function (event)
484-
{
485-
var pointers = this.pointers;
486-
var changed = [];
487-
488-
for (var c = 0; c < event.changedTouches.length; c++)
489-
{
490-
var changedTouch = event.changedTouches[c];
491-
492-
for (var i = 1; i < this.pointersTotal; i++)
493-
{
494-
var pointer = pointers[i];
495-
496-
if (!pointer.active)
497-
{
498-
pointer.touchstart(changedTouch, event);
499-
500-
pointer.updateMotion();
501-
502-
this.activePointer = pointer;
503-
504-
changed.push(pointer);
505-
506-
break;
507-
}
508-
}
509-
}
510-
511-
return changed;
512-
},
513-
514-
/**
515-
* Called by InputManager.onTouchMove when a Touch Move Event is received.
516-
*
517-
* @method Phaser.Input.InputManager#updatePointer
518-
* @private
519-
* @since 3.10.0
520-
*
521-
* @param {TouchEvent} event - The native DOM event to be processed.
522-
*
523-
* @return {Phaser.Input.Pointer[]} An array containing all the Pointer instances that were modified by this event.
524-
*/
525-
updatePointer: function (event)
526-
{
527-
var pointers = this.pointers;
528-
var changed = [];
529-
530-
for (var c = 0; c < event.changedTouches.length; c++)
531-
{
532-
var changedTouch = event.changedTouches[c];
533-
534-
for (var i = 1; i < this.pointersTotal; i++)
535-
{
536-
var pointer = pointers[i];
537-
538-
if (pointer.active && pointer.identifier === changedTouch.identifier)
539-
{
540-
pointer.touchmove(changedTouch, event);
541-
542-
pointer.updateMotion();
543-
544-
this.activePointer = pointer;
545-
546-
changed.push(pointer);
547-
548-
break;
549-
}
550-
}
551-
}
552-
553-
return changed;
554-
},
555-
556-
// For touch end its a list of the touch points that have been removed from the surface
557-
// https://developer.mozilla.org/en-US/docs/DOM/TouchList
558-
// event.changedTouches = the touches that CHANGED in this event, not the total number of them
559-
560-
/**
561-
* Called by InputManager.onTouchEnd when a Touch End Event is received.
562-
*
563-
* @method Phaser.Input.InputManager#stopPointer
564-
* @private
565-
* @since 3.10.0
566-
*
567-
* @param {TouchEvent} event - The native DOM event to be processed.
568-
*
569-
* @return {Phaser.Input.Pointer[]} An array containing all the Pointer instances that were modified by this event.
570-
*/
571-
stopPointer: function (event)
572-
{
573-
var pointers = this.pointers;
574-
var changed = [];
575-
576-
for (var c = 0; c < event.changedTouches.length; c++)
577-
{
578-
var changedTouch = event.changedTouches[c];
579-
580-
for (var i = 1; i < this.pointersTotal; i++)
581-
{
582-
var pointer = pointers[i];
583-
584-
if (pointer.active && pointer.identifier === changedTouch.identifier)
585-
{
586-
pointer.touchend(changedTouch, event);
587-
588-
pointer.updateMotion();
589-
590-
changed.push(pointer);
591-
592-
break;
593-
}
594-
}
595-
}
596-
597-
return changed;
598-
},
599-
600-
/**
601-
* Called by InputManager.onTouchCancel when a Touch Cancel Event is received.
602-
*
603-
* @method Phaser.Input.InputManager#cancelPointer
604-
* @private
605-
* @since 3.15.0
606-
*
607-
* @param {TouchEvent} event - The native DOM event to be processed.
608-
*
609-
* @return {Phaser.Input.Pointer[]} An array containing all the Pointer instances that were modified by this event.
610-
*/
611-
cancelPointer: function (event)
612-
{
613-
var pointers = this.pointers;
614-
var changed = [];
615-
616-
for (var c = 0; c < event.changedTouches.length; c++)
617-
{
618-
var changedTouch = event.changedTouches[c];
619-
620-
for (var i = 1; i < this.pointersTotal; i++)
621-
{
622-
var pointer = pointers[i];
623-
624-
if (pointer.active && pointer.identifier === changedTouch.identifier)
625-
{
626-
pointer.touchend(changedTouch, event);
627-
628-
pointer.updateMotion();
629-
630-
changed.push(pointer);
631-
632-
break;
633-
}
634-
}
635-
}
636-
637-
return changed;
638-
},
639-
640468
/**
641469
* Adds new Pointer objects to the Input Manager.
642470
*
@@ -718,6 +546,10 @@ var InputManager = new Class({
718546
}
719547
},
720548

549+
// event.targetTouches = list of all touches on the TARGET ELEMENT (i.e. game dom element)
550+
// event.touches = list of all touches on the ENTIRE DOCUMENT, not just the target element
551+
// event.changedTouches = the touches that CHANGED in this event, not the total number of them
552+
721553
/**
722554
* Processes a touch start event, as passed in by the TouchManager.
723555
*
@@ -729,7 +561,29 @@ var InputManager = new Class({
729561
*/
730562
onTouchStart: function (event)
731563
{
732-
var changed = this.startPointer(event);
564+
var pointers = this.pointers;
565+
var changed = [];
566+
567+
for (var c = 0; c < event.changedTouches.length; c++)
568+
{
569+
var changedTouch = event.changedTouches[c];
570+
571+
for (var i = 1; i < this.pointersTotal; i++)
572+
{
573+
var pointer = pointers[i];
574+
575+
if (!pointer.active)
576+
{
577+
pointer.touchstart(changedTouch, event);
578+
579+
this.activePointer = pointer;
580+
581+
changed.push(pointer);
582+
583+
break;
584+
}
585+
}
586+
}
733587

734588
this.updateInputPlugins(CONST.TOUCH_START, changed);
735589
},
@@ -745,11 +599,37 @@ var InputManager = new Class({
745599
*/
746600
onTouchMove: function (event)
747601
{
748-
var changed = this.updatePointer(event);
602+
var pointers = this.pointers;
603+
var changed = [];
604+
605+
for (var c = 0; c < event.changedTouches.length; c++)
606+
{
607+
var changedTouch = event.changedTouches[c];
608+
609+
for (var i = 1; i < this.pointersTotal; i++)
610+
{
611+
var pointer = pointers[i];
612+
613+
if (pointer.active && pointer.identifier === changedTouch.identifier)
614+
{
615+
pointer.touchmove(changedTouch, event);
616+
617+
this.activePointer = pointer;
618+
619+
changed.push(pointer);
620+
621+
break;
622+
}
623+
}
624+
}
749625

750626
this.updateInputPlugins(CONST.TOUCH_MOVE, changed);
751627
},
752628

629+
// For touch end its a list of the touch points that have been removed from the surface
630+
// https://developer.mozilla.org/en-US/docs/DOM/TouchList
631+
// event.changedTouches = the touches that CHANGED in this event, not the total number of them
632+
753633
/**
754634
* Processes a touch end event, as passed in by the TouchManager.
755635
*
@@ -761,7 +641,27 @@ var InputManager = new Class({
761641
*/
762642
onTouchEnd: function (event)
763643
{
764-
var changed = this.stopPointer(event);
644+
var pointers = this.pointers;
645+
var changed = [];
646+
647+
for (var c = 0; c < event.changedTouches.length; c++)
648+
{
649+
var changedTouch = event.changedTouches[c];
650+
651+
for (var i = 1; i < this.pointersTotal; i++)
652+
{
653+
var pointer = pointers[i];
654+
655+
if (pointer.active && pointer.identifier === changedTouch.identifier)
656+
{
657+
pointer.touchend(changedTouch, event);
658+
659+
changed.push(pointer);
660+
661+
break;
662+
}
663+
}
664+
}
765665

766666
this.updateInputPlugins(CONST.TOUCH_END, changed);
767667
},
@@ -777,7 +677,27 @@ var InputManager = new Class({
777677
*/
778678
onTouchCancel: function (event)
779679
{
780-
var changed = this.cancelPointer(event);
680+
var pointers = this.pointers;
681+
var changed = [];
682+
683+
for (var c = 0; c < event.changedTouches.length; c++)
684+
{
685+
var changedTouch = event.changedTouches[c];
686+
687+
for (var i = 1; i < this.pointersTotal; i++)
688+
{
689+
var pointer = pointers[i];
690+
691+
if (pointer.active && pointer.identifier === changedTouch.identifier)
692+
{
693+
pointer.touchcancel(changedTouch, event);
694+
695+
changed.push(pointer);
696+
697+
break;
698+
}
699+
}
700+
}
781701

782702
this.updateInputPlugins(CONST.TOUCH_CANCEL, changed);
783703
},

0 commit comments

Comments
 (0)