Hide legacy catalog reader behind ItemManager

This commit is contained in:
Meta Vens 2026-06-13 10:49:29 +01:00
commit fabbd088e2
8 changed files with 34 additions and 17 deletions

View file

@ -30,8 +30,8 @@ public class ItemManager
// private Guid _forceLoadZone;
// public GlobalData GlobalData => _globalData ?? (_globalData = ItemData.GetAll<GlobalData>().FirstOrDefault());
public ILegacyCatalogReader ItemData { get; }
// public GlobalData GlobalData => _globalData ?? (_globalData = GetCatalogEntries<GlobalData>().FirstOrDefault());
private readonly ILegacyCatalogReader _itemData;
public GameplaySettings GameplaySettings { get; }
// public double Time
@ -49,11 +49,21 @@ public class ItemManager
public ItemManager(ILegacyCatalogReader itemData, GameplaySettings settings, Action<string> logger)
{
ItemData = itemData;
_itemData = itemData;
GameplaySettings = settings;
_logger = logger;
}
public T GetCatalogEntry<T>(Guid id) where T : DatabaseEntry
{
return _itemData.Get<T>(id);
}
public IEnumerable<T> GetCatalogEntries<T>() where T : DatabaseEntry
{
return _itemData.GetAll<T>();
}
public void Log(string s)
{
_logger(s);