public static SendMouseClick ( |
||
windowHandle | ||
mouseButton | MouseButton | |
x | int | |
y | int | |
moveFirst | bool | |
Résultat | void |
public static void ClickSlot(this Player client, InterfacePanel panel, int slot, bool isExpandedInventory = false) { slot = panel.GetRelativeSlot(slot); var pt = panel.ToSlotPoint(slot, isExpandedInventory); pt = pt.ScalePoint(client.Process.WindowScaleX, client.Process.WindowScaleY); WindowAutomator.SendMouseClick(client.Process.WindowHandle, MouseButton.Left, (int)pt.X, (int)pt.Y); }
public static void CollapseInventory(this Player client) { var pt = new Point(570, 320); pt = pt.ScalePoint(client.Process.WindowScaleX, client.Process.WindowScaleY); client.Update(PlayerFieldFlags.GameClient); if (client.GameClient.IsInventoryExpanded) { WindowAutomator.SendMouseClick(client.Process.WindowHandle, MouseButton.Left, (int)pt.X, (int)pt.Y); } }
public static void ClickAt(this Player client, double x, double y, bool moveMouseBeforeClick = true) { WindowAutomator.SendMouseClick(client.Process.WindowHandle, MouseButton.Left, (int)x, (int)y, moveMouseBeforeClick); }
public static void SwitchToPanel(this Player client, InterfacePanel panel, out bool didRequireSwitch, bool useShiftKey = true) { didRequireSwitch = false; var pt = panel.ToPoint(); pt = pt.ScalePoint(client.Process.WindowScaleX, client.Process.WindowScaleY); var x = (int)pt.X; var y = (int)pt.Y; var hwnd = client.Process.WindowHandle; client.Update(PlayerFieldFlags.GameClient); var currentPanel = client.GameClient.ActivePanel; if (currentPanel.IsSameAs(panel)) { return; } didRequireSwitch = true; // Tem Skills/Spells to Medenia if (currentPanel.IsTemuairToMedenia(panel)) { if (useShiftKey) { WindowAutomator.SendShiftKeyDown(hwnd); } WindowAutomator.SendMouseClick(hwnd, MouseButton.Left, x, y); if (useShiftKey) { WindowAutomator.SendShiftKeyUp(hwnd); } } // Med Skills/Spells to Temuair else if (currentPanel.IsMedeniaToTemuair(panel)) { WindowAutomator.SendMouseClick(hwnd, MouseButton.Left, x, y); } // Switching to Medenia from non-Temuair else if (panel.IsMedeniaPanel()) { if (useShiftKey) { WindowAutomator.SendShiftKeyDown(hwnd); } WindowAutomator.SendMouseClick(hwnd, MouseButton.Left, x, y); if (!useShiftKey) { WindowAutomator.SendMouseClick(hwnd, MouseButton.Left, x, y); } if (useShiftKey) { WindowAutomator.SendShiftKeyUp(hwnd); } } // Switching to Temauir from non-Medenia else { WindowAutomator.SendMouseClick(hwnd, MouseButton.Left, x, y); } }