|
@@ -47,6 +47,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
{
|
|
|
return await Task.Run(() =>
|
|
|
{
|
|
|
+ Settings.Clear();
|
|
|
List<Roles> openedRoles = new();
|
|
|
foreach (var player in Players.Values)
|
|
|
openedRoles.ConcatenateUnique(player.OpenedRoles.ToList());
|
|
@@ -68,10 +69,9 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
mafiaList.Remove(Roles.Don);
|
|
|
break;
|
|
|
}
|
|
|
- Settings.Add(role, 1);
|
|
|
+ Settings.AddUniqueByKey(role, 1);
|
|
|
}
|
|
|
- else if (Settings.ContainsKey(Roles.Mafia)) Settings[Roles.Mafia]++;
|
|
|
- else Settings.Add(Roles.Mafia, 1);
|
|
|
+ else if (!Settings.AddUniqueByKey(Roles.Mafia, 1)) Settings[Roles.Mafia]++;
|
|
|
}
|
|
|
for (var i = 0; i < Players.Count - Players.Count / 3; ++i)
|
|
|
{
|
|
@@ -92,10 +92,9 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
openedRoles.Remove(Roles.Journalist);
|
|
|
break;
|
|
|
}
|
|
|
- Settings.Add(role, 1);
|
|
|
+ Settings.AddUniqueByKey(role, 1);
|
|
|
}
|
|
|
- else if (Settings.ContainsKey(Roles.Villager)) Settings[Roles.Villager]++;
|
|
|
- else Settings.Add(Roles.Villager, 1);
|
|
|
+ else if (!Settings.AddUniqueByKey(Roles.Villager, 1)) Settings[Roles.Villager]++;
|
|
|
}
|
|
|
return ResultCode.CodeOk;
|
|
|
});
|