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}");
        }
示例#2
0
        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);
        }