private static IItemModel GetItemModel(CharacterFile.ItemSave itemSave, string category) { if (itemSave.ModelBase == 0 && itemSave.ModelVariant == 0) { return(null); } foreach (IItem item in allItems) { if (item.PrimaryCategory != "Gear") { continue; } if (item is IItemModel itemModel) { if (itemModel.ModelInfo.PrimaryID == itemSave.ModelBase && itemModel.ModelInfo.ImcSubsetID == itemSave.ModelVariant && itemModel.SecondaryCategory == category) { return(itemModel); } } } throw new Exception($"Could not find model for item save: {itemSave}"); }
private static CharacterFile.ItemSave GearFromItem(IItem item, IDye dye) { CharacterFile.ItemSave save = new CharacterFile.ItemSave(); save.ModelBase = item.ModelBase; save.ModelVariant = (byte)item.ModelVariant; if (dye != null) { save.DyeId = dye.Id; } return(save); }