示例#1
0
    private void Awake()
    {
        //Singletone
        instance = this;
        //캐릭터 생성
        roomLevel = (Room_TileType)GlobalManager.instance.stageLevel;
        Debug.Log(roomLevel);
        switch ((int)roomLevel)
        {
        case 0:
            numberofRoom = 5;
            break;

        case 1:
            numberofRoom = 8;
            break;

        case 2:
            break;

        default:
            numberofRoom = 5;
            break;
        }

        StartSettingInGM();
    }
示例#2
0
    /// <summary>
    /// NOTE : 파라미터 숫자만큼 DungeonRoomByTile 클래스 객체 생성 함수
    /// </summary>
    /// <param name="_numberOfroom"></param>
    public void CreateRooms(Room_TileType level, int numberOfRoom)
    {  //Grid 오브젝트 생성
        loadData = LoadDataManager.instance;

        //DungeonRoom 클래스 생성
        for (int i = 0; i < numberOfRoom; i++)
        {
            roomList.Add(new DungeonRoom(i, (int)level, widthMinSize, widthMaxSize, heightMinSize, heightMaxSize));
        }
        //RoomLevel설정
        SetRoomLevel();
        //0레벨을 제외한 나머지 랜덤 Terrain 설정
        for (int i = 1; i < roomList.Count - 1; i++)
        {
            if (roomList[i].roomClearType.Equals(Room_ClearType.Puzzle))
            {
                SetPuzzleTypeRoom(roomList[i]);
            }
            else
            {
                SetRandomTerrainRoom(roomList[i]);
            }
        }
        //Rooms 연결
        RandomEdgeConnect();
        //Rooms Entrance 오브젝트 생성
        foreach (DungeonRoom room in roomList)
        {
            room.SetEntrancePos();
        }
        //PrintLogRoomNeighbors();
        //Rooms Draw
        DrawRooms();
        //출입문 진입시 출현할 포지션 설정
        SetConnectedEntrance();
        //적생성
        DrawPrefabByClearType();
        //열쇠를 가지고있는 몬스터 생성
        SetKeyInRoom();
    }