local ____exports = {}
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
____exports.ONE_BY_ONE_CONTENTS_WIDTH = 13
____exports.ONE_BY_ONE_CONTENTS_HEIGHT = 7
local 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
local NARROW_HORIZONTAL_VOLUME = ____exports.ONE_BY_ONE_CONTENTS_WIDTH * ____exports.NARROW_CONTENTS_HEIGHT
local NARROW_VERTICAL_VOLUME = ____exports.NARROW_CONTENTS_WIDTH * ____exports.ONE_BY_ONE_CONTENTS_HEIGHT
local ONE_BY_TWO_VOLUME = ONE_BY_ONE_VOLUME * 2
local 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 = {
    [RoomShape.SHAPE_1x1] = ONE_BY_ONE_VOLUME,
    [RoomShape.IH] = NARROW_HORIZONTAL_VOLUME,
    [RoomShape.IV] = NARROW_VERTICAL_VOLUME,
    [RoomShape.SHAPE_1x2] = ONE_BY_TWO_VOLUME,
    [RoomShape.IIV] = NARROW_VERTICAL_VOLUME * 2,
    [RoomShape.SHAPE_2x1] = ONE_BY_TWO_VOLUME,
    [RoomShape.IIH] = NARROW_HORIZONTAL_VOLUME * 2,
    [RoomShape.SHAPE_2x2] = ONE_BY_ONE_VOLUME * 4,
    [RoomShape.LTL] = L_ROOM_VOLUME,
    [RoomShape.LTR] = L_ROOM_VOLUME,
    [RoomShape.LBL] = L_ROOM_VOLUME,
    [RoomShape.LBR] = L_ROOM_VOLUME
}
return ____exports
