HashGrid:

bounds: Rect

cellSize: number

columns: number

grid: Array<Array>

hashesForObject: Map<GameObj, Array>

versionsForObject: Map<GameObj, [ number, number, number ] >

add(obj: GameObj ): void

remove(obj: GameObj ): void

clear(): void

update(): void

iterPairs(pairCb: (obj1: GameObj , obj2: GameObj )=>void ): void

Iterates all object pairs which potentially collide

retrieve(rect: Rect , retrieveCb: (obj: GameObj )=>void ): void

Retrieves all object which potentially collide with the rectangle

_hashPoint:

_hashRect:

_addObjectToGridByHash:

_removeObjectFromGridByHash:

_isInside:

_resizeToFit:

_clampBoundsToCellSize: