|
@@ -49,18 +49,23 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
|
|
|
private async Task LookPlayers(Player player)
|
|
private async Task LookPlayers(Player player)
|
|
{
|
|
{
|
|
- var players = _room.Players.Values.ToList();
|
|
|
|
|
|
+ var players = _room.Players.Values.ToArray();
|
|
|
|
+ var nextPlayer = _room._turnOrder.Peek();
|
|
var knownRoles = player.CurrentRole.KnownRoles;
|
|
var knownRoles = player.CurrentRole.KnownRoles;
|
|
var message = strings.players_list;
|
|
var message = strings.players_list;
|
|
- foreach (var item in players)
|
|
|
|
|
|
+ var stopIndex = -1;
|
|
|
|
+ for (var i = 0; i <= players.Length && i != stopIndex; ++i)
|
|
{
|
|
{
|
|
- var role = knownRoles.ContainsKey(item.Id)
|
|
|
|
- ? knownRoles[item.Id]
|
|
|
|
|
|
+ if (stopIndex == -1 && players[i].Id == nextPlayer.Id) stopIndex = i;
|
|
|
|
+ if (stopIndex == -1) continue;
|
|
|
|
+ i %= players.Length;
|
|
|
|
+ var role = knownRoles.ContainsKey(players[i].Id)
|
|
|
|
+ ? knownRoles[players[i].Id]
|
|
: "";
|
|
: "";
|
|
message +=
|
|
message +=
|
|
- $"\n({item.TurnOrder}) " +
|
|
|
|
- $"{item.NickName} " +
|
|
|
|
- $"({(item.IsAlive ? strings.alive : strings.died)}) " +
|
|
|
|
|
|
+ $"\n({players[i].TurnOrder}) " +
|
|
|
|
+ $"{players[i].NickName} " +
|
|
|
|
+ $"({(players[i].IsAlive ? strings.alive : strings.died)}) " +
|
|
$"{role}";
|
|
$"{role}";
|
|
}
|
|
}
|
|
await _room.PlayersCh.SendTo(player.Id, message);
|
|
await _room.PlayersCh.SendTo(player.Id, message);
|