"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ROOM_SHAPE_VOLUMES = exports.NARROW_CONTENTS_HEIGHT = exports.NARROW_CONTENTS_WIDTH = exports.ONE_BY_ONE_CONTENTS_HEIGHT = exports.ONE_BY_ONE_CONTENTS_WIDTH = void 0;
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
exports.ONE_BY_ONE_CONTENTS_WIDTH = 13;
exports.ONE_BY_ONE_CONTENTS_HEIGHT = 7;
const ONE_BY_ONE_VOLUME = exports.ONE_BY_ONE_CONTENTS_HEIGHT * exports.ONE_BY_ONE_CONTENTS_WIDTH;
exports.NARROW_CONTENTS_WIDTH = 5;
exports.NARROW_CONTENTS_HEIGHT = 3;
const NARROW_HORIZONTAL_VOLUME = exports.ONE_BY_ONE_CONTENTS_WIDTH * exports.NARROW_CONTENTS_HEIGHT;
const NARROW_VERTICAL_VOLUME = exports.NARROW_CONTENTS_WIDTH * exports.ONE_BY_ONE_CONTENTS_HEIGHT;
const ONE_BY_TWO_VOLUME = ONE_BY_ONE_VOLUME * 2;
const L_ROOM_VOLUME = ONE_BY_ONE_VOLUME * 3;
/**
 * Volume is the amount of tiles that are inside the room shape.
 *
 * (This cannot be directly calculated from the bounds since L rooms are a special case.)
 */
exports.ROOM_SHAPE_VOLUMES = {
    [isaac_typescript_definitions_1.RoomShape.SHAPE_1x1]: ONE_BY_ONE_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.IH]: NARROW_HORIZONTAL_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.IV]: NARROW_VERTICAL_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.SHAPE_1x2]: ONE_BY_TWO_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.IIV]: NARROW_VERTICAL_VOLUME * 2,
    [isaac_typescript_definitions_1.RoomShape.SHAPE_2x1]: ONE_BY_TWO_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.IIH]: NARROW_HORIZONTAL_VOLUME * 2,
    [isaac_typescript_definitions_1.RoomShape.SHAPE_2x2]: ONE_BY_ONE_VOLUME * 4,
    [isaac_typescript_definitions_1.RoomShape.LTL]: L_ROOM_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.LTR]: L_ROOM_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.LBL]: L_ROOM_VOLUME,
    [isaac_typescript_definitions_1.RoomShape.LBR]: L_ROOM_VOLUME, // 12
};
