示例#1
0
        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);
        }
示例#2
0
        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);
        }