/// <summary> /// Loads the inventory /// </summary> /// <param name="parsedTemplate">Parsed scriban template</param> /// <param name="inputNpc">Input npc</param> /// <returns>List of items</returns> private async Task<List<ScribanExportInventoryItem>> LoadInventory(Template parsedTemplate, KortistoNpc inputNpc) { if(inputNpc.Inventory == null || !inputNpc.Inventory.Any()) { return new List<ScribanExportInventoryItem>(); } GoNorthProject project = await _exportCachedDbAccess.GetUserProject(); ExportSettings exportSettings = await _exportCachedDbAccess.GetExportSettings(project.Id); List<ScribanExportInventoryItem> inventoryItems = new List<ScribanExportInventoryItem>(); List<StyrItem> items = await _exportCachedDbAccess.GetItemsById(inputNpc.Inventory.Select(i => i.ItemId).ToList()); foreach(KortistoInventoryItem curItem in inputNpc.Inventory) { StyrItem loadedItem = items.FirstOrDefault(i => i.Id == curItem.ItemId); if(loadedItem == null) { continue; } ScribanExportInventoryItem exportItem = FlexFieldValueCollectorUtil.BuildFlexFieldValueObject<ScribanExportInventoryItem>(null, parsedTemplate, loadedItem, exportSettings, _errorCollection); exportItem.Quantity = curItem.Quantity; exportItem.IsEquipped = curItem.IsEquipped; inventoryItems.Add(exportItem); } return inventoryItems; }