public static MultiplayerItem ConvertToMultiplayerItem(InventoryResponse.Hotbar item) { if (item != null) { return(ConvertToMultiplayerItem(item.id, item.count, true, null /*InventoryUtils.GetInstance(item.instanceId)*/)); //TODO: Implement GetInstance()! } var multiplayerItem = new MultiplayerItem { category = new MultiplayerItemCategory { loc = ItemCategory.Invalid, value = (int)ItemCategory.Invalid }, count = 0, guid = Guid.Parse("00000000-0000-0000-0000-000000000000"), owned = false, rarity = new MultiplayerItemRarity { loc = ItemRarity.Invalid, value = 6 } }; return(multiplayerItem); }
private static MultiplayerItem ConvertToMultiplayerItem(Guid itemId, int count, bool owned, DateTime?unlockedOn = null, InventoryResponse.ItemInstance itemInstance = null) { var catalogItem = StateSingleton.Instance.catalog.result.items.Find(match => match.id == itemId); ItemCategory category = Enum.TryParse(catalogItem.category, true, out ItemCategory itemCategory) ? itemCategory : ItemCategory.Invalid; ItemRarity rarity = Enum.TryParse(Enum.GetName(catalogItem.rarity), true, out ItemRarity itemRarity) ? itemRarity : ItemRarity.Invalid; var multiplayerItem = new MultiplayerItem { count = count, guid = itemId, owned = owned, category = new MultiplayerItemCategory { loc = category, value = (int)category }, rarity = new MultiplayerItemRarity { loc = rarity, value = (int)rarity } }; if (unlockedOn != null) { multiplayerItem.unlocked = new MultiplayerItemUnlocked { on = EpochTime.GetIntDate(unlockedOn.Value) }; } if (itemInstance != null) { multiplayerItem.instance_data = itemInstance; } return(multiplayerItem); }