示例#1
0
        private async Task <bool> RequestItemType(uint itemId)
        {
            /* Check if item exists in Bid House */
            var itemType = ObjectDataManager.Instance.Get <Item>(itemId).TypeId;

            if (!_itemTypesInBidHouse.Contains(itemType))
            {
                throw new Exception(
                          $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'existe pas dans cet hôtel de vente.");
            }

            var itemsTypeMessage = new ExchangeBidHouseTypeMessage
            {
                Type = itemType
            };

            Logger.Default.Log(
                $"Sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType}).",
                LogMessageType.Info);

            if (!await SendAndWait(itemsTypeMessage, 3000))
            {
                throw new Exception(
                          $"Erreur lors de la sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType}).");
            }

            /* Check if item exists in items list */
            if (!_itemListInBidHouse.Contains(itemId))
            {
                throw new Exception(
                          $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'est pas actuellement en vente dans cet HDV.");
            }

            return(true);
        }
 public static void HandleExchangeBidhouseTypes(ExchangeBidHouseTypeMessage message, WorldClient client)
 {
     if (client.Character.IsInExchange(ExchangeTypeEnum.BIDHOUSE_BUY))
     {
         client.Character.GetDialog <BuyExchange>().ShowTypes(message.type);
     }
 }
示例#3
0
        public static void HandleExchangeBidHouseTypeMessage(WorldClient client, ExchangeBidHouseTypeMessage message)
        {
            var exchange = client.Character.Exchange as BidHouseExchange;

            if (exchange == null)
            {
                return;
            }

            var items = BidHouseManager.Instance.GetBidHouseItems((ItemTypeEnum)message.type, exchange.MaxItemLevel).ToArray();

            SendExchangeTypesExchangerDescriptionForUserMessage(client, items.Select(x => x.Template.Id));
        }
示例#4
0
        private bool RequestItemType(uint itemId)
        {
            /* Check if item exists in Bid House */
            var itemType = ObjectDataManager.Instance.Get <Item>(itemId).TypeId;

            if (!_itemTypesInBidHouse.Contains(itemType))
            {
                ExitBidHouseDialog();
                throw new Exception(
                          $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'existe pas dans cet hôtel de vente.");
            }

            var itemsTypeMessage = new ExchangeBidHouseTypeMessage
            {
                Type = itemType
            };

            _account.Network.SendToServer(itemsTypeMessage);
            Logger.Default.Log(
                $"Sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType}).",
                LogMessageType.Info);

            return(true);
        }
示例#5
0
 public static void HandleExchangeBidHouseType(ExchangeBidHouseTypeMessage message, WorldClient client)
 {
     client.Character.BidShopInstance.ShowBidHouseType(message.type);
 }