void InitDoor(ref List <GameObject> blockListTemp, ref GameObject blockTemp, int sessionRow, int sessionCol, DoorDirInRoom doorDirInRoom, RoomType roomType)
    {
        blockListTemp = tilePrefabList[(int)BlockType.door].tilePrfabs;
        blockTemp     = Instantiate <GameObject>(blockListTemp[0]);
        DoorController doorController = blockTemp.transform.Find("Door").GetComponent <DoorController>();

        doorController.doorDir = doorDirInRoom;
        sessionArray[sessionRow, sessionCol].doorsInRoomDic.Add(doorDirInRoom, blockTemp);
        switch (roomType)
        {
        case RoomType.town:
        case RoomType.camp:
        case RoomType.eventRoom:
            doorController.DoorOpen();
            break;

        case RoomType.monster:
        case RoomType.boss:
            break;

        default:
            break;
        }
    }
    void ParsingMapTextFile()
    {
        Dictionary <DoorDirInRoom, List <string[, ]> > roomDicTemp = new Dictionary <DoorDirInRoom, List <string[, ]> >();

        string[] temp;
        string[] mapTextTempArray;
        string[,] roomTextTempArray;
        List <string[]> roomStringTemp = new List <string[]>();
        DoorDirInRoom   roomType       = DoorDirInRoom.none;

        for (int i = 0; i < (int)RoomType.bridge; i++)              //텍스트 파일 5개 돌기
        {
            mapTextTempArray = mapTextFileList[i].text.Split('\n'); //각각의 텍스트파일 줄별로 파싱

            roomDicTemp    = new Dictionary <DoorDirInRoom, List <string[, ]> >();
            roomStringTemp = new List <string[]>();

            for (int j = 0; j < (int)DoorDirInRoom.end; j++)//문에 따라서 맵데이터를 저장 할 변수 생성
            {
                roomDicTemp.Add((DoorDirInRoom)j, new List <string[, ]>());
            }

            for (int index = 0; index < mapTextTempArray.Length - 1; index++)
            {
                if (mapTextTempArray[index].Trim() == "")
                {
                    continue;
                }

                if (mapTextTempArray[index][0] == '#')
                {
                    temp = mapTextTempArray[index].Split('_');
                    SetDoorDirInRoomType(temp[1], out roomType);
                    continue;
                }

                if (mapTextTempArray[index][0] == '@')
                {
                    roomTextTempArray = new string[roomStringTemp.Count, roomStringTemp[0].Length];
                    int row = 0;
                    int col = 0;
                    foreach (var strArray in roomStringTemp)
                    {
                        foreach (var block in strArray)
                        {
                            roomTextTempArray[row, col] = block;
                            col++;
                        }
                        col = 0;
                        row++;
                    }
                    roomDicTemp[roomType].Add(roomTextTempArray);
                    roomType = DoorDirInRoom.none;
                    roomStringTemp.Clear();
                    continue;
                }

                roomStringTemp.Add(mapTextTempArray[index].Trim().Split(' '));
            }

            roomList.Add(roomDicTemp);
        }
    }
    void SetDoorDirInRoomType(string roomDirStr, out DoorDirInRoom roomType)
    {
        switch (roomDirStr)
        {
        case "R":
            roomType = DoorDirInRoom.right;
            break;

        case "D":
            roomType = DoorDirInRoom.down;
            break;

        case "DR":
            roomType = DoorDirInRoom.downRight;
            break;

        case "L":
            roomType = DoorDirInRoom.left;
            break;

        case "LR":
            roomType = DoorDirInRoom.leftRight;
            break;

        case "DL":
            roomType = DoorDirInRoom.downLeft;
            break;

        case "DLR":
            roomType = DoorDirInRoom.downLeftRight;
            break;

        case "U":
            roomType = DoorDirInRoom.up;
            break;

        case "UR":
            roomType = DoorDirInRoom.upRight;
            break;

        case "UD":
            roomType = DoorDirInRoom.upDown;
            break;

        case "UDR":
            roomType = DoorDirInRoom.upDownRight;
            break;

        case "UL":
            roomType = DoorDirInRoom.upLeft;
            break;

        case "ULR":
            roomType = DoorDirInRoom.upLeftRight;
            break;

        case "UDL":
            roomType = DoorDirInRoom.upDownLeft;
            break;

        case "UDLR":
            roomType = DoorDirInRoom.upDownLeftRight;
            break;

        default:
            roomType = DoorDirInRoom.none;
            break;
        }
    }