using QuestValidator.Common.Helpers; using QuestValidator.Common.Models; using System; using System.Collections.Generic; using System.IO; using System.Text.Json; namespace QuestValidator.Common { public static class ItemTemplateHelper { private static Dictionary _itemCache; public static Dictionary Items { get { if (_itemCache == null) { var itemsFilePath = $"{Directory.GetCurrentDirectory()}\\Assets\\items.json"; if (!File.Exists(itemsFilePath)) { throw new Exception($"Missing items.json under assets ({itemsFilePath})"); } var itemsJson = File.ReadAllText(itemsFilePath); _itemCache = JsonSerializer.Deserialize>(itemsJson); } return _itemCache; } } public static Item GetTemplateById(string templateId) { if (Items.ContainsKey(templateId)) { return Items[templateId]; } LoggingHelpers.LogToConsole($"Could not locate item template with id {templateId}", ConsoleColor.Red); return null; } } }