Exemple #1
0
    private List <RoomTemplate> GetPotentialConnectRooms(LevelTemplate levelTemplate, int[] coords, int[] previousCoords)
    {
        List <RoomTemplate> potentialRooms = new List <RoomTemplate>();

        int[][] surroundingCoords = GetSurroundingCoords(coords);
        foreach (int[] surroundingCoord in surroundingCoords)
        {
            if (surroundingCoord != previousCoords && levelTemplate.IsInside(surroundingCoord))
            {
                RoomTemplate surroundingRoom = levelTemplate.GetMap(surroundingCoord);
                if (surroundingRoom.GetRoomType() == RoomTemplate.RoomType.MAIN || surroundingRoom.GetRoomType() == RoomTemplate.RoomType.OFFSHOOT)
                {
                    potentialRooms.Add(surroundingRoom);
                }
            }
        }
        return(potentialRooms);
    }
Exemple #2
0
 private void CreateLevelFromTemplate(LevelTemplate levelTemplate, Transform mapTransform)
 {
     for (int col = 0; col < levelTemplate.GetCols(); ++col)
     {
         for (int row = 0; row < levelTemplate.GetRows(); ++row)
         {
             RoomTemplate roomTemplate = levelTemplate.GetMap(new int[] { col, row });
             if (roomTemplate.GetRoomType() != RoomTemplate.RoomType.EMPTY)
             {
                 Room room = GenerateRoom(roomTemplate, col, row, mapTransform);
                 if (roomTemplate.GetRoomType() == RoomTemplate.RoomType.SPAWN)
                 {
                     spawnPoint = room.GetSpawnPoint();
                 }
             }
         }
     }
 }
Exemple #3
0
 public void GenerateRoom(RoomTemplate roomTemplate)
 {
     roomType = roomTemplate.GetRoomType();
     doors    = new List <DoorTile>();
     for (int col = 0; col < RoomTemplate.MAX_ROOM_WIDTH; col++)
     {
         for (int row = 0; row < RoomTemplate.MAX_ROOM_HEIGHT; row++)
         {
             GenerateTile(col, row, roomTemplate.GetTile(col, row));
         }
     }
 }