UNPKG

phaser4-rex-plugins

Version:
42 lines (31 loc) 1.25 kB
import IsPointInBounds from '../bounds/IsPointInBounds.js'; import GetPointerWorldXY from './GetPointerWorldXY.js'; var GetInBoundsPointer = function (gameObject, isPointerDown, preTest, postTest) { var mainCamera = gameObject.scene.sys.cameras.main, worldXY; var useScreenXY = (gameObject.scrollFactorX === 0) && (gameObject.scrollFactorY === 0); var inputManager = gameObject.scene.input.manager; var pointersTotal = inputManager.pointersTotal; var pointer, pointers = inputManager.pointers; for (var i = 0; i < pointersTotal; i++) { pointer = pointers[i]; if (isPointerDown && (!pointer.isDown)) { continue; } if (useScreenXY) { if (IsPointInBounds(gameObject, pointer.x, pointer.y, preTest, postTest)) { return pointer; } } else { worldXY = GetPointerWorldXY(pointer, mainCamera, true); if (!worldXY) { continue; } if (IsPointInBounds(gameObject, worldXY.x, worldXY.y, preTest, postTest)) { return pointer; } } } return null; } export default GetInBoundsPointer;