|
@@ -113,19 +113,21 @@ namespace MafiaTelegramBot.Resources
|
|
|
public static InlineKeyboardMarkup RoomsKeyboard(List<GameRoom> rooms, long userId, int page)
|
|
|
{
|
|
|
var previousButton = page != 0;
|
|
|
- var nextButton = rooms.Count > (page + 1) * 10;
|
|
|
- var buttonsCount = rooms.Count >= (page + 1) * 10 ? 10 : rooms.Count - page*10;
|
|
|
+ var nextButton = rooms.Count > (page + 1) * Constants.MAX_SHOWING_ROOMS;
|
|
|
+ var buttonsCount = rooms.Count >= (page + 1) * Constants.MAX_SHOWING_ROOMS ? Constants.MAX_SHOWING_ROOMS : rooms.Count - page * Constants.MAX_SHOWING_ROOMS;
|
|
|
if (previousButton || nextButton) buttonsCount++;
|
|
|
var inlineButtons = new InlineKeyboardButton[buttonsCount][];
|
|
|
- for (var i = 0 + page * 10; i < rooms.Count && i < Constants.MAX_SHOWING_ROOMS * (page + 1); ++i) // buttons
|
|
|
+ var j = 0;
|
|
|
+ for (var i = page * Constants.MAX_SHOWING_ROOMS; i < rooms.Count && i < Constants.MAX_SHOWING_ROOMS * (page + 1); ++i) // buttons
|
|
|
{
|
|
|
var s = rooms[i].IsExtended ? "Р" : "C";
|
|
|
- inlineButtons[i] = new []
|
|
|
+ inlineButtons[j] = new []
|
|
|
{
|
|
|
InlineKeyboardButton.WithCallbackData(
|
|
|
$"[{s}] {rooms[i].RoomName} ({rooms[i].Players.Values.Count.ToString()}/{rooms[i].MaxPlayers.ToString()})",
|
|
|
$"{Callback.ConnectToSelectedRoom}|{userId}|{RoomEncrypter.GetCode(rooms[i].RoomName)}")
|
|
|
};
|
|
|
+ ++j;
|
|
|
}
|
|
|
if (previousButton && nextButton) inlineButtons[buttonsCount - 1] = new[]
|
|
|
{
|