"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ROOM_SHAPE_TO_DOOR_SLOTS = void 0;
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
const ReadonlySet_1 = require("../types/ReadonlySet");
const ALL_DOOR_SLOTS_SET = new ReadonlySet_1.ReadonlySet([
    isaac_typescript_definitions_1.DoorSlot.LEFT_0,
    isaac_typescript_definitions_1.DoorSlot.UP_0,
    isaac_typescript_definitions_1.DoorSlot.RIGHT_0,
    isaac_typescript_definitions_1.DoorSlot.DOWN_0,
    isaac_typescript_definitions_1.DoorSlot.LEFT_1,
    isaac_typescript_definitions_1.DoorSlot.UP_1,
    isaac_typescript_definitions_1.DoorSlot.RIGHT_1,
    isaac_typescript_definitions_1.DoorSlot.DOWN_1, // 7
]);
exports.ROOM_SHAPE_TO_DOOR_SLOTS = {
    // 1
    [isaac_typescript_definitions_1.RoomShape.SHAPE_1x1]: new ReadonlySet_1.ReadonlySet([
        isaac_typescript_definitions_1.DoorSlot.LEFT_0,
        isaac_typescript_definitions_1.DoorSlot.UP_0,
        isaac_typescript_definitions_1.DoorSlot.RIGHT_0,
        isaac_typescript_definitions_1.DoorSlot.DOWN_0, // 3
    ]),
    // 2
    [isaac_typescript_definitions_1.RoomShape.IH]: new ReadonlySet_1.ReadonlySet([
        isaac_typescript_definitions_1.DoorSlot.LEFT_0,
        isaac_typescript_definitions_1.DoorSlot.RIGHT_0, // 2
    ]),
    // 3
    [isaac_typescript_definitions_1.RoomShape.IV]: new ReadonlySet_1.ReadonlySet([
        isaac_typescript_definitions_1.DoorSlot.UP_0,
        isaac_typescript_definitions_1.DoorSlot.DOWN_0, // 3
    ]),
    // 4
    [isaac_typescript_definitions_1.RoomShape.SHAPE_1x2]: new ReadonlySet_1.ReadonlySet([
        isaac_typescript_definitions_1.DoorSlot.LEFT_0,
        isaac_typescript_definitions_1.DoorSlot.UP_0,
        isaac_typescript_definitions_1.DoorSlot.RIGHT_0,
        isaac_typescript_definitions_1.DoorSlot.DOWN_0,
        isaac_typescript_definitions_1.DoorSlot.LEFT_1,
        isaac_typescript_definitions_1.DoorSlot.RIGHT_1, // 6
    ]),
    // 5
    [isaac_typescript_definitions_1.RoomShape.IIV]: new ReadonlySet_1.ReadonlySet([
        isaac_typescript_definitions_1.DoorSlot.UP_0,
        isaac_typescript_definitions_1.DoorSlot.DOWN_0, // 3
    ]),
    // 6
    [isaac_typescript_definitions_1.RoomShape.SHAPE_2x1]: new ReadonlySet_1.ReadonlySet([
        isaac_typescript_definitions_1.DoorSlot.LEFT_0,
        isaac_typescript_definitions_1.DoorSlot.UP_0,
        isaac_typescript_definitions_1.DoorSlot.RIGHT_0,
        isaac_typescript_definitions_1.DoorSlot.DOWN_0,
        isaac_typescript_definitions_1.DoorSlot.UP_1,
        isaac_typescript_definitions_1.DoorSlot.DOWN_1, // 7
    ]),
    // 7
    [isaac_typescript_definitions_1.RoomShape.IIH]: new ReadonlySet_1.ReadonlySet([
        isaac_typescript_definitions_1.DoorSlot.LEFT_0,
        isaac_typescript_definitions_1.DoorSlot.RIGHT_0, // 2
    ]),
    // 8
    [isaac_typescript_definitions_1.RoomShape.SHAPE_2x2]: ALL_DOOR_SLOTS_SET,
    // 9
    [isaac_typescript_definitions_1.RoomShape.LTL]: ALL_DOOR_SLOTS_SET,
    // 10
    [isaac_typescript_definitions_1.RoomShape.LTR]: ALL_DOOR_SLOTS_SET,
    // 11
    [isaac_typescript_definitions_1.RoomShape.LBL]: ALL_DOOR_SLOTS_SET,
    // 12
    [isaac_typescript_definitions_1.RoomShape.LBR]: ALL_DOOR_SLOTS_SET,
};
