private void SetMerchantRooms() { int count = 0; int[] iter = new int[] { 0, 1, 2, 3 }; while (count < MERCHANT_ROOM_COUNT) { int row = GlobalSettings.RND.Next(levelSet.GetLength(0)); int col = GlobalSettings.RND.Next(levelSet.GetLength(1)); if (!IsStartUpRoom(row, col)) { GenerateRoom RoomGen = new GenerateRoom(); RoomGen.InitRoom(); RoomGen.SetAsMerchantRoom(); levelSet[row, col] = RoomGen.room; foreach (int Dir in iter) { if (HasNextRoom(new int[] { col, row }, Dir)) { AddHiddenDoors(new int[] { col, row }, Dir); } } count++; } } }
private void PopulateRooms() { int L1Dist; double RowProgression = 0, ColProgression = 0; for (int i = 0; i < levelSet.GetLength(0); i++) { for (int j = 0; j < levelSet.GetLength(1); j++) { L1Dist = L1DistanceFromStart(i, j); ColProgression = j / levelColCount; RowProgression = i / levelRowCount; if (levelSet[i, j] != null) { GenerateRoom RoomGen = new GenerateRoom(); RoomGen.InitRoom(); RoomGen.SetPara(L1Dist, RowProgression, ColProgression); if (!IsStartUpRoom(i, j)) { RoomGen.PopulateEnemy(); RoomGen.PopulateBlock(); } RoomGen.PopulateItem(); levelSet[i, j] = RoomGen.room; } } } }