@ujjwalvivek/tinyts
    Preparing search index...

    Interface TileMap

    A 2D grid-based tile map.

    interface TileMap {
        collisionTest: (
            pos: Vec2 | { x: number; y: number },
            size: Vec2 | { x: number; y: number },
            bodyLayer?: number,
        ) => {
            hit: boolean;
            normal: Vec2;
            pos: Vec2;
            touching: { bottom: boolean; left: boolean; right: boolean; top: boolean };
        };
        getSpawn: (name: string, index?: number) => Vec2 | null;
        getTile: (x: number, y: number) => number;
        getTileDef: (x: number, y: number) => TileDef | undefined;
        height: number;
        isSolid: (x: number, y: number, layer?: number) => boolean;
        isSolidAABB: (aabb: AABB, layer?: number) => boolean;
        legend: Record<string, TileDef>;
        render: (offsetX?: number, offsetY?: number) => void;
        tiles: number[][];
        tileSize: number;
        tileToWorld: (tx: number, ty: number) => Vec2;
        width: number;
        worldToTile: (wx: number, wy: number) => { x: number; y: number };
    }
    Index

    Properties

    collisionTest: (
        pos: Vec2 | { x: number; y: number },
        size: Vec2 | { x: number; y: number },
        bodyLayer?: number,
    ) => {
        hit: boolean;
        normal: Vec2;
        pos: Vec2;
        touching: { bottom: boolean; left: boolean; right: boolean; top: boolean };
    }

    Test collision of a box against the tilemap and return corrected position.

    getSpawn: (name: string, index?: number) => Vec2 | null

    Get world position of a spawn point.

    getTile: (x: number, y: number) => number

    Get tile sprite index at grid coordinates.

    getTileDef: (x: number, y: number) => TileDef | undefined

    Get tile definition at grid coordinates.

    height: number

    Height in tiles.

    isSolid: (x: number, y: number, layer?: number) => boolean

    Check if grid coordinates contain a solid tile.

    isSolidAABB: (aabb: AABB, layer?: number) => boolean

    Check if an AABB overlaps any solid tile.

    legend: Record<string, TileDef>

    Mapping of character/key to tile definition.

    render: (offsetX?: number, offsetY?: number) => void

    Render the tilemap.

    tiles: number[][]

    Grid of tile sprite indices.

    tileSize: number

    Tile size in world units.

    tileToWorld: (tx: number, ty: number) => Vec2

    Convert tile coordinates to world position.

    width: number

    Width in tiles.

    worldToTile: (wx: number, wy: number) => { x: number; y: number }

    Convert world coordinates to tile position.