private void OnItemFromMarketMsg(AppChangingItemsMessage message) { if (!IsCanMakeDMarketOperation(message)) { return; } var assetId = _dMarketConverter.GetAssetId(message.WorldId); DMarketApi.FromMarket(Model.MarketToken, assetId, (responce, request) => { var inventory = GetInventory(message.ConnectionId); var item = inventory.GetItem(message.WorldId); if (item == null) { item = new PlayerItemInfo(message.ItemType, message.WorldId); inventory.AddItem(item); } item.IsInMarket = false; OnAfterSuccesDMarketOperation(message); }, error => { OnItemOperationError(message, error); }); }
public void Update(PlayerInventoryInfo inventory) { //TODO need optimization _items.Clear(); foreach (PlayerItemInfo gameItem in inventory.Items) { if (!gameItem.IsInMarket && !inventory.IsEquipped(gameItem.WorldId)) { var newItem = new InGameItemInfo { Title = _infoCatalog.GetInfo(gameItem.ItemType).Name, Sprite = _imageCatalog.GetInventoryItemSprite(gameItem.ItemType), AssetId = _dMarketConverter.GetAssetId(gameItem.WorldId), ClassId = _dMarketConverter.GetClassId(gameItem.ItemType) }; _items.Add(newItem); } } ItemsChanged.SafeRaise(); }