Fix adding duplicate player entries upon relogging
Fixes https://github.com/space-wizards/space-station-14/issues/5882
This commit is contained in:
@@ -487,7 +487,16 @@ namespace Content.Server.Database
|
|||||||
.Where(player => playerIds.Contains(player.UserId))
|
.Where(player => playerIds.Contains(player.UserId))
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
round.Players.AddRange(players);
|
var playerSet = new HashSet<Guid>(round.Players.Select(player => player.UserId));
|
||||||
|
foreach (var player in players)
|
||||||
|
{
|
||||||
|
if (playerSet.Contains(player.UserId))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
round.Players.Add(player);
|
||||||
|
}
|
||||||
|
|
||||||
await db.DbContext.SaveChangesAsync();
|
await db.DbContext.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user