@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
77 lines • 1.95 kB
TypeScript
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