private static async void TriggerItemFetch() { Logger.Log("Hotkey pressed."); // Trigger copy action. SendKeys.SendWait("^{c}"); // Retrieve clipboard. var itemText = ClipboardHelper.GetText(); // Parse item. var item = ItemParser.ParseItem(itemText); if (item != null) { OverlayController.SetPosition(Cursor.Position.X, Cursor.Position.Y); OverlayController.Show(); var queryResult = await TradeClient.GetListings(item); if (queryResult != null) { OverlayController.SetQueryResult(queryResult); return; } } OverlayController.Hide(); }
public static void Initialize() { Legacy.KeybindEvents.OnCloseWindow += () => { var handled = false; if (OverlayController.IsDisplayed) { OverlayController.Hide(); handled = true; } if (LeagueOverlayController.IsDisplayed) { LeagueOverlayController.Hide(); handled = true; } return(Task.FromResult(handled)); }; Legacy.KeybindEvents.OnPriceCheck += TriggerItemFetch; Legacy.KeybindEvents.OnItemWiki += TriggerItemWiki; Legacy.KeybindEvents.OnHideout += TriggerHideout; Legacy.KeybindEvents.OnFindItems += TriggerFindItem; Legacy.KeybindEvents.OnLeaveParty += TriggerLeaveParty; Legacy.KeybindEvents.OnOpenSearch += TriggerOpenSearch; Legacy.KeybindEvents.OnOpenLeagueOverview += TriggerLeagueOverlay; Legacy.KeybindEvents.OnWhisperReply += TriggerReplyToLatestWhisper; Legacy.KeybindEvents.OnMouseClick += MouseClicked; }
private static async Task <bool> TriggerItemFetch() { Legacy.Logger.Log("Hotkey for pricing item triggered."); var item = await TriggerCopyAction(); if (item != null) { OverlayController.Open(); var queryResult = await Legacy.TradeClient.GetListings(item); if (queryResult != null) { var poeNinjaItem = Legacy.PoeNinjaCache.GetItem(item); if (poeNinjaItem != null) { queryResult.PoeNinjaItem = poeNinjaItem; queryResult.LastRefreshTimestamp = Legacy.PoeNinjaCache.LastRefreshTimestamp; } OverlayController.SetQueryResult(queryResult); return(true); } OverlayController.Hide(); return(true); } return(false); }
private static void GlobalHookKeyPressHandler(object sender, KeyEventArgs e) { if (!TradeClient.IsReady) { return; } if (OverlayController.IsDisplayed && e.KeyCode == Keys.Escape) { e.Handled = true; OverlayController.Hide(); } else if (ProcessHelper.IsPathOfExileInFocus()) { if (!OverlayController.IsDisplayed && e.Modifiers == Keys.Control && e.KeyCode == Keys.D) { e.Handled = true; Task.Run(TriggerItemFetch); } else if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.W) { e.Handled = true; Task.Run(TriggerItemWiki); } else if (e.Modifiers == Keys.None && e.KeyCode == Keys.F5) { e.Handled = true; Task.Run(TriggerHideout); } } }
private static Task MouseClicked(int x, int y) { if (!OverlayController.IsDisplayed || !Legacy.Settings.CloseOverlayWithMouse) { return(Task.CompletedTask); } var overlayPos = OverlayController.GetOverlayPosition(); var overlaySize = OverlayController.GetOverlaySize(); if (x < overlayPos.X || x > overlayPos.X + overlaySize.Width || y < overlayPos.Y || y > overlayPos.Y + overlaySize.Height) { OverlayController.Hide(); } return(Task.CompletedTask); }
private static async void TriggerItemFetch() { Logger.Log("Hotkey for pricing item triggered."); Item item = await TriggerCopyAction(); if (item != null) { OverlayController.Open(); var queryResult = await TradeClient.GetListings(item); if (queryResult != null) { OverlayController.SetQueryResult(queryResult); return; } } OverlayController.Hide(); }