using System.Collections.ObjectModel;
namespace NeonSprawl.Server.Game.Skills;
/// In-memory skill catalog loaded at startup (NEO-34). Game code should prefer for lookups (NEO-35).
public sealed class SkillDefinitionCatalog
{
public SkillDefinitionCatalog(
string skillsDirectory,
IReadOnlyDictionary byId,
int catalogJsonFileCount)
{
SkillsDirectory = skillsDirectory;
ById = new ReadOnlyDictionary(new Dictionary(byId, StringComparer.Ordinal));
CatalogJsonFileCount = catalogJsonFileCount;
}
/// Absolute path to the directory that was enumerated for *.json catalogs.
public string SkillsDirectory { get; }
public IReadOnlyDictionary ById { get; }
public int DistinctSkillCount => ById.Count;
/// Number of *.json files under .
public int CatalogJsonFileCount { get; }
}