Пример #1
0
 public DestinyInventoryBucketDefinition GetBucketDefTable(string id)
 {
     using (var conn = new SQLiteConnection(dbPath))
     {
         string query = "SELECT json FROM DestinyInventoryBucketDefinition WHERE id = " + id;
         DestinyInventoryBucketDefinition result = conn.Query <DestinyInventoryBucketDefinition>(query, id).FirstOrDefault();
         conn.Close();
         return(result);
     }
 }
Пример #2
0
 public Item(string baseUrl, DestinyItemComponent itemComponent, DestinyInventoryItemDefinition itemDef,
             DestinyInventoryBucketDefinition bucket, DestinyItemInstanceComponent instance = null,
             string overrideIconUrl = null)
 {
     Name       = itemDef.DisplayProperties.Name;
     PowerLevel = instance?.PrimaryStat?.Value ?? 0;
     Slot       = new ItemSlot(bucket);
     Tier       = itemDef.Inventory.TierType;
     ClassType  = itemDef.ClassType;
     Icon       = baseUrl + (overrideIconUrl ?? itemDef.DisplayProperties.Icon);
 }
Пример #3
0
        private static int GetPowerLevel(DestinyItemInstanceComponent instance,
                                         DestinyInventoryBucketDefinition bucket)
        {
            if (instance is null)
            {
                return(0);
            }

            if (bucket.Hash == (uint)ItemSlot.SlotHashes.Engrams)
            {
                return(instance.ItemLevel * 10);
            }

            return(instance.PrimaryStat?.Value ?? 0);
        }
Пример #4
0
 public Item(string baseUrl, DestinyItemComponent itemComponent, DestinyInventoryItemDefinition itemDef,
             DestinyInventoryBucketDefinition bucket, DestinyItemInstanceComponent instance = null,
             string overrideIconUrl = null, string watermark = null)
 {
     Name       = itemDef.DisplayProperties.Name;
     PowerLevel = GetPowerLevel(instance, bucket);
     Slot       = new ItemSlot(bucket);
     Tier       = itemDef.Inventory.TierType;
     ClassType  = itemDef.ClassType;
     Icon       = baseUrl + (overrideIconUrl ?? itemDef.DisplayProperties.Icon);
     if (!string.IsNullOrEmpty(watermark))
     {
         Watermark = baseUrl + watermark;
     }
 }
Пример #5
0
 public Item(string baseUrl, DestinyInventoryItemDefinition itemDef,
             DestinyInventoryBucketDefinition bucket, long instanceId = 0,
             DestinyItemInstanceComponent instance = null,
             IEnumerable <Stat> stats = null,
             IEnumerable <SocketCategory> socketCategories = null)
     : base(baseUrl, itemDef)
 {
     PowerLevel       = instance?.PrimaryStat?.Value ?? 0;
     Slot             = new ItemSlot(bucket);
     Tier             = itemDef.Inventory.TierType;
     ClassType        = itemDef.ClassType;
     InstanceId       = instanceId;
     SocketCategories = socketCategories?.ToList() ?? Enumerable.Empty <SocketCategory>();
     Stats            = stats?.ToList() ?? Enumerable.Empty <Stat>();
 }
Пример #6
0
 public ItemSlot(DestinyInventoryBucketDefinition bucket)
 {
     Name  = bucket.DisplayProperties.Name;
     Order = bucket.BucketOrder;
     Hash  = (SlotHashes)bucket.Hash;
 }
Пример #7
0
 private static bool ShouldInclude(DestinyInventoryBucketDefinition bucket)
 {
     return(_includedBuckets.Contains((ItemSlot.SlotHashes)bucket.Hash));
 }