UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

77 lines 1.95 kB
export default TileGrid; declare class TileGrid { /** * * @param {number} width * @param {number} height * @constructor */ constructor(width: number, height: number); size: Vector2; /** * * @type {List<Rectangle>} */ tiles: List<Rectangle>; /** * * @type {Vector1} */ capacity: Vector1; /** * * @return {number} */ computeTotalTileArea(): number; /** * * @param {Rectangle} rect * @returns {Array<Rectangle>} */ getOverlappingTiles(rect: Rectangle): Array<Rectangle>; /** * * @param {Rectangle[]} result tiles will be added here * @param {number} x * @param {number} y * @param {number} w * @param {number} h * @returns {number} number of overlapping tiles found */ getOverlappingTilesRaw(result: Rectangle[], x: number, y: number, w: number, h: number): number; /** * * @param {Rectangle} tile * @returns {boolean} */ contains(tile: Rectangle): boolean; /** * Look up a slot for a rectangular tile of a given size * @param {Vector2} result * @param {number} w * @param {number} h * @returns {boolean} */ findEmptySlotFor(result: Vector2, w: number, h: number): boolean; /** * * @param {number} tileWidth * @param {number} tileHeight * @param {function(x:number, y:number):*} visitor */ computePossibleTilePositions(tileWidth: number, tileHeight: number, visitor: any): void; /** * * @param {Rectangle} tile */ add(tile: Rectangle): void; /** * * @param {Array.<Rectangle>} tiles */ addAll(tiles: Array<Rectangle>): void; } import Vector2 from '../../../core/geom/Vector2.js'; import List from '../../../core/collection/list/List.js'; import Vector1 from "../../../core/geom/Vector1.js"; //# sourceMappingURL=TileGrid.d.ts.map