using System.Collections.Concurrent; using Microsoft.Extensions.Logging; namespace TanksServer; internal sealed class PlayerService(ILogger logger) { private readonly ConcurrentDictionary _players = new(); public Player GetOrAdd(string name) => _players.GetOrAdd(name, _ => new Player(name)); } internal class Player(string name) { public string Name => name; public Guid Id => Guid.NewGuid(); }