@@ -647,7 +647,7 @@ async function connect(connectOptions: {
647
647
onCameraMove ( { movementX : x * 10 , movementY : z * 10 , type : 'touchmove' } )
648
648
} )
649
649
650
- registerListener ( document , 'lostpointercapture' , ( e ) => {
650
+ const pointerUpHandler = ( e : PointerEvent ) => {
651
651
if ( e . pointerId === undefined || e . pointerId !== capturedPointer ?. id ) return
652
652
clearTimeout ( virtualClickTimeout )
653
653
virtualClickTimeout = undefined
@@ -662,15 +662,11 @@ async function connect(connectOptions: {
662
662
document . dispatchEvent ( new MouseEvent ( 'mouseup' , { button : 2 } ) )
663
663
}
664
664
capturedPointer = undefined
665
- } , { passive : false } )
666
-
667
- registerListener ( document , 'pointerup' , ( e ) => {
668
- const clickedEl = e . composedPath ( ) [ 0 ]
669
- if ( ! isGameActive ( true ) || ! miscUiState . currentTouch || clickedEl !== cameraControlEl || e . pointerId === undefined ) {
670
- return
671
- }
672
665
screenTouches --
673
- } )
666
+ }
667
+ registerListener ( document , 'pointerup' , pointerUpHandler )
668
+ registerListener ( document , 'pointercancel' , pointerUpHandler )
669
+ registerListener ( document , 'lostpointercapture' , pointerUpHandler )
674
670
675
671
registerListener ( document , 'contextmenu' , ( e ) => e . preventDefault ( ) , false )
676
672
0 commit comments