"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.L_ROOM_SHAPE_TO_RECTANGLES = void 0;
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
const constants_1 = require("../core/constants");
const readOnly_1 = require("../functions/readOnly");
const TWO_BY_TWO_BOTTOM_RIGHT = (0, readOnly_1.newReadonlyVector)(25, 13);
/**
 * "Vector(0, 0)" corresponds to the top left tile of a room, not including the walls. (The top-left
 * wall would be at "Vector(-1, -1)".)
 */
// We don't use `as const` since we need the object to be indexable by all `RoomShape`.
// eslint-disable-next-line isaacscript/require-capital-const-assertions
exports.L_ROOM_SHAPE_TO_RECTANGLES = {
    // 9
    [isaac_typescript_definitions_1.RoomShape.LTL]: {
        verticalTopLeft: (0, readOnly_1.newReadonlyVector)(13, 0),
        verticalBottomRight: (0, readOnly_1.newReadonlyVector)(25, 13),
        horizontalTopLeft: (0, readOnly_1.newReadonlyVector)(0, 7),
        horizontalBottomRight: TWO_BY_TWO_BOTTOM_RIGHT,
    },
    // 10
    [isaac_typescript_definitions_1.RoomShape.LTR]: {
        verticalTopLeft: constants_1.VectorZero,
        verticalBottomRight: (0, readOnly_1.newReadonlyVector)(12, 13),
        horizontalTopLeft: (0, readOnly_1.newReadonlyVector)(0, 7),
        horizontalBottomRight: TWO_BY_TWO_BOTTOM_RIGHT,
    },
    // 11
    [isaac_typescript_definitions_1.RoomShape.LBL]: {
        verticalTopLeft: constants_1.VectorZero,
        verticalBottomRight: (0, readOnly_1.newReadonlyVector)(25, 6),
        horizontalTopLeft: (0, readOnly_1.newReadonlyVector)(13, 0),
        horizontalBottomRight: TWO_BY_TWO_BOTTOM_RIGHT,
    },
    // 12
    [isaac_typescript_definitions_1.RoomShape.LBR]: {
        verticalTopLeft: constants_1.VectorZero,
        verticalBottomRight: (0, readOnly_1.newReadonlyVector)(25, 6),
        horizontalTopLeft: constants_1.VectorZero,
        horizontalBottomRight: (0, readOnly_1.newReadonlyVector)(12, 13),
    },
};
