public override void OnResponse(int buttonID, int[] switches, Dictionary <int, string> textEntries = null) { if (buttonID == SEARCH_BUTTON) { string searchText = textEntries?.FirstOrDefault(i => i.Key == SEARCH_ENTRY_ID).Value ?? ""; HttpClient httpClient = new HttpClient(); httpClient.GetAsync($"{API_URL}/searchFull/{Uri.EscapeUriString( searchText )}").ContinueWith( async t => { try { string response = await t.Result.Content.ReadAsStringAsync(); if (!t.Result.IsSuccessStatusCode) { throw new Exception("An error occurred."); } VendorItem[] results = JsonConvert.DeserializeObject <VendorItem[]>(response); if (results?.Length == 0) { DemiseSearchGump gump = new DemiseSearchGump("No results found for search."); gump.SendGump(); } else { DemiseSearchGump gump = new DemiseSearchGump($"{results?.Length} result(s) for search term.", searchText, results); gump.SendGump(); } } catch (Exception e) { DemiseSearchGump gump = new DemiseSearchGump(e.Message); gump.SendGump(); } }); } else if (buttonID >= 0x40000000) { DemiseSearchGump gump = new DemiseSearchGump(_message, _searchTerm, _results); gump.SendGump(); VendorItem item = _results.FirstOrDefault(i => i.Serial == buttonID); if (item == null) { return; } SendMap(item.Serial, item.X, item.Y, item.Map); } Engine.RemoveSendPostFilter(_pfi); }
private static void OnStoreClick(byte[] arg1, PacketFilterInfo arg2) { DemiseSearchGump gump = new DemiseSearchGump(); gump.SendGump(); }