public ItemInfo Get(ItemIdentifier identifier) { switch (identifier.LootType) { case LootType.ConstEquipment: return Get((EInventoryEquipmentType)identifier.ItemId); case LootType.ConstFamiliar: return Get((EInventoryFamiliarType)identifier.ItemId); case LootType.ConstOrb: return Get((EInventoryOrbType)identifier.ItemId, (EOrbSlot)identifier.SubItemId); case LootType.ConstRelic: return Get((EInventoryRelicType)identifier.ItemId); case LootType.ConstStat: return Get((EItemType)identifier.ItemId); case LootType.ConstUseItem: return Get((EInventoryUseItemType)identifier.ItemId); default: throw new ArgumentOutOfRangeException($"Loottype {identifier.LootType} is not supported"); } }
internal SingleItemInfo(ItemUnlockingMap unlockingMap, ItemIdentifier identifier) { Identifier = identifier; Unlocks = unlockingMap.GetAllUnlock(identifier); PickupAction = unlockingMap.GetPickupAction(identifier); }
public SingleItemInfo(ItemIdentifier identifier) { Identifier = identifier; }
ItemInfo CreateNew(ItemIdentifier identifier) => new SingleItemInfo(unlockingMap, identifier);