Ejemplo n.º 1
0
        public async Task <List <ItemModel> > AddItemsListAsync(string inventoryType, Item[] items, MemberModel member,
                                                                ItemsManifestService manifest, APIAccessor accessor)
        {
            var itemList = new List <ItemModel>();

            foreach (var item in items)
            {
                try
                {
                    ItemManifestModel info = manifest.GetManifestItemData(item);
                    BucketModel       type = info != null?manifest.GetManifestBucketData(info, item) : null;

                    PrimaryStat instance = item.ItemInstanceId != null && type != null ? await GetInstanceAsync(item, member, accessor) : null;

                    //DamageModel damage = new DamageModel();
                    //if (info != null && type.DisplayProperties.Name == "Energy Weapons")
                    //{
                    //    damage = manifest.GetDamageTypeData(info);
                    //}
                    //DamageModel damage = info != null && type.DisplayProperties.Name == "Energy Weapons" ? manifest.GetDamageTypeData(info) : null;

                    if (info != null && type != null)
                    {
                        itemList.Add(AddModelItem(inventoryType, item, type, info, instance));
                    }
                }
                catch (Exception e) { }
            }
            return(itemList);
        }
        //public DamageModel GetDamageTypeData(ItemManifestModel info)
        //{
        //    if (info.DamageTypeHashes[0] != 0)
        //    {
        //        var id = info.DamageTypeHashes[0];
        //        var damageType = access.GetDamageDefTable(id.ToString());
        //        var json = JsonConvert.DeserializeObject<DamageModel>(damageType.Json);
        //        return json;
        //    }
        //    return null;
        //}

        public BucketModel GetManifestBucketData(ItemManifestModel info, Item item)
        {
            int id;

            if (info == null)
            {
                id = unchecked ((int)item.BucketHash);
            }
            else
            {
                id = unchecked ((int)info.Inventory.BucketTypeHash);
            }
            var bucketData = access.GetBucketDefTable(id.ToString());
            var data       = bucketData.Json;

            if (data != null)
            {
                return(BucketData(data));
            }
            return(null);
        }
Ejemplo n.º 3
0
        public ItemModel AddModelItem(string inventoryType, Item item, BucketModel type, ItemManifestModel info, PrimaryStat instancePath)
        {
            ItemModel Item = new ItemModel
            {
                ItemHashId    = item.ItemHash,
                BucketHash    = item.BucketHash,
                BucketType    = type.DisplayProperties.Name,
                ItemDesc      = info.DisplayProperties.Description,
                ItemIcon      = "https://www.bungie.net" + info.DisplayProperties.Icon,
                ItemName      = info.DisplayProperties.Name,
                ItemType      = info.ItemTypeDisplayName,
                IconWM        = "https://www.bungie.net",
                TierType      = info.Inventory.TierTypeName,
                ScreenShot    = "https://www.bungie.net" + info.Screenshot,
                InventoryType = inventoryType
            };

            //Item.DamageType = damage != null ? "https://www.bungie.net" + damage.DisplayProperties.Icon : "";
            Item.IconWM      += info.IconWatermark == null ? info.IconWatermarkShelved : info.IconWatermark;
            Item.ItemLight    = instancePath != null && instancePath.Value > 200 ? instancePath.Value.ToString() : "";
            Item.ItemInstance = item.ItemInstanceId != null?Convert.ToInt64(item.ItemInstanceId) : 0;

            return(Item);
        }