export const inRect = (x: number, y: number, rectX: number, rectY: number, rectW: number, rectH: number) => { return ( x >= rectX && x < rectX+rectW && y >= rectY && y < rectY+rectH ) } export function reGridWithGap (x: number, y: number, gridX: number, gridY: number, cellW: number, cellH: number, gapX: number, gapY: number): {x: number, y: number} | null { const gx = Math.floor((x-gridX)/(cellW+gapX)); const gy = Math.floor((y-gridY)/(cellH+gapY)); if (x >= gridX+(cellW+gapX)*gx+cellW || y >= gridY+(cellH+gapY)*gy+cellH) { return null; } return { x: Math.floor((x-gridX)/(cellW+gapX)), y: Math.floor((y-gridY)/(cellH+gapY)), } } export function reGrid (x: number, y: number, gridX: number, gridY: number, cellW: number, cellH: number): {x: number, y: number} { const gx = Math.floor((x-gridX)/(cellW)); const gy = Math.floor((y-gridY)/(cellH)); return { x: gx, y: gy, } }