private static void HandlePurchase(GameSession session, PacketReader packet) { byte quantity = packet.ReadByte(); int marketItemId = packet.ReadInt(); byte[] unk = packet.Read(12); int childMarketItemId = packet.ReadInt(); long unk2 = packet.ReadLong(); int itemIndex = packet.ReadInt(); int totalQuantity = packet.ReadInt(); int unk3 = packet.ReadInt(); byte unk4 = packet.ReadByte(); string unk5 = packet.ReadUnicodeString(); string unk6 = packet.ReadUnicodeString(); long price = packet.ReadLong(); MeretMarketMetadata marketItem = MeretMarketMetadataStorage.GetMetadata(marketItemId); if (marketItem == null) { return; } if (childMarketItemId == 0) { HandleMarketItemPay(session, marketItem, itemIndex, totalQuantity); } else { MeretMarketMetadata childItem = marketItem.AdditionalQuantities.FirstOrDefault(x => x.MarketItemId == childMarketItemId); HandleMarketItemPay(session, childItem, itemIndex, totalQuantity); } }
private static void HandleHome(GameSession session) { List <MeretMarketMetadata> marketItems = MeretMarketMetadataStorage.GetCategoryItems(MeretMarketCategory.Promo); if (marketItems == null) { return; } session.Send(MeretMarketPacket.Promos(marketItems)); }
private static void HandleOpenPremium(GameSession session, PacketReader packet) { MeretMarketCategory category = (MeretMarketCategory)packet.ReadInt(); List <MeretMarketMetadata> marketItems = MeretMarketMetadataStorage.GetCategoryItems(category); if (marketItems == null) { return; } session.Send(MeretMarketPacket.Premium(marketItems)); }