using System; using System.Collections.Concurrent; using System.Collections.Generic; namespace WingsEmu.Game.Configurations; public interface IGibberishConfig { IReadOnlyList GetKeysById(int id); } public class GibberishConfig : IGibberishConfig { private readonly ConcurrentDictionary> _keys = new(); public GibberishConfig(IEnumerable configuration) { foreach (GibberishConfiguration config in configuration) { _keys.TryAdd(config.Id, config.Keys ?? new List()); } } public IReadOnlyList GetKeysById(int id) => _keys.TryGetValue(id, out IReadOnlyList list) ? list : Array.Empty(); } public class GibberishConfiguration { public int Id { get; set; } public List Keys { get; set; } }