DestinyItemInstanceComponent class

If an item is "instanced", this will contain information about the item's instance that doesn't fit easily into other components. One might say this is the "essential" instance data for the item. Items are instanced if they require information or state that can vary. For instance, weapons are Instanced: they are given a unique identifier, uniquely generated stats, and can have their properties altered. Non-instanced items have none of these things: for instance, Glimmer has no unique properties aside from how much of it you own. You can tell from an item's definition whether it will be instanced or not by looking at the DestinyInventoryItemDefinition's definition.inventory.isInstanceItem property.

Annotations
  • @JsonSerializable()

Properties

breakerType int?
If populated, this item has a breaker type corresponding to the given value. See DestinyBreakerTypeDefinition for more details.
getter/setter pair
breakerTypeHash int?
If populated, this is the hash identifier for the item's breaker type. See DestinyBreakerTypeDefinition for more details.
getter/setter pair
canEquip bool?
If this is an equippable item, you can check it here. There are permanent as well as transitory reasons why an item might not be able to be equipped: check cannotEquipReason for details.
getter/setter pair
cannotEquipReason EquipFailureReason?
If you cannot equip the item, this is a flags enum that enumerates all of the reasons why you couldn't equip the item. You may need to refine your UI further by using unlockHashesRequiredToEquip and equipRequiredLevel.
getter/setter pair
damageType DamageType?
If the item has a damage type, this is the item's current damage type.
getter/setter pair
damageTypeHash int?
The current damage type's hash, so you can look up localized info and icons for it.
getter/setter pair
energy DestinyItemInstanceEnergy?
IF populated, this item supports Energy mechanics (i.e. Armor 2.0), and these are the current details of its energy type and available capacity to spend energy points.
getter/setter pair
equipRequiredLevel int?
If the item cannot be equipped until you reach a certain level, that level will be reflected here.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
isEquipped bool?
Is the item currently equipped on the given character?
getter/setter pair
itemLevel int?
The Item's "Level" has the most significant bearing on its stats, such as Light and Power.
getter/setter pair
primaryStat DestinyStat?
The item stat that we consider to be "primary" for the item. For instance, this would be "Attack" for Weapons or "Defense" for armor.
getter/setter pair
quality int?
The "Quality" of the item has a lesser - but still impactful - bearing on stats like Light and Power.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
unlockHashesRequiredToEquip List<int>?
Sometimes, there are limitations to equipping that are represented by character-level flags called "unlocks". This is a list of flags that they need in order to equip the item that the character has not met. Use these to look up the descriptions to show in your UI by looking up the relevant DestinyUnlockDefinitions for the hashes.
getter/setter pair

Methods

asyncToJson() Future<Map<String, dynamic>>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, dynamic>
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

asyncFromJson(Map<String, dynamic> json) Future<DestinyItemInstanceComponent>