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(
string skillsDirectory,
IReadOnlyDictionary byId,
int catalogJsonFileCount)
{
/// Absolute path to the directory that was enumerated for *_skills.json catalogs.
public string SkillsDirectory { get; } = skillsDirectory;
public IReadOnlyDictionary ById { get; } =
new ReadOnlyDictionary(new Dictionary(byId, StringComparer.Ordinal));
public int DistinctSkillCount => ById.Count;
/// Number of *_skills.json files under .
public int CatalogJsonFileCount { get; } = catalogJsonFileCount;
}