private static async Task RunAsync(int count) { Console.WriteLine("取引所のウィンドウを表示してください。"); Console.WriteLine("アイテムの個数を入力してください。"); var num = int.Parse(Console.ReadLine()); Console.WriteLine($"{num}個を{count}回に分けて出品します。"); Console.WriteLine($"アイテムの座標をクリックしてください。"); var point = await GetPointAsync(); var w = await RomWindow.FromPointAsync(point); Console.WriteLine($"(X:{w.Rectangle.X}, Y:{w.Rectangle.Y}, W:{w.Rectangle.Width}, H:{w.Rectangle.Height})にゲームウィンドウが見つかりました。"); await Task.Delay(1000); for (int i = 0; i < count; i++) { var c = (num - 1) / (count - i) + 1; if (c > 1000) { c = 999; } num -= c; Console.WriteLine($"{i + 1}回目の出品です。{c}個出品して、残り{num}個です。"); w.SellCountBox.Click(); await Task.Delay(300); Keyboard.SendKey(0x2e); Keyboard.SendKey(25); await Task.Delay(300); Keyboard.SendKeys(c.ToString()); await Task.Delay(300); w.TextOkButton.Click(); await Task.Delay(300); w.SellButton.Click(); await Task.Delay(1000); if (i != count - 1) { point.Click(); await Task.Delay(300); } } }
private static async Task RunAsync() { while (true) { var p = await GetPointAsync(); var w = await RomWindow.FromPointAsync(p); if (w is null) { break; } var r = w.Rectangle; var dx = (double)(p.X - r.X) / r.Width; var dy = (double)(p.Y - r.Y) / r.Height; Console.WriteLine($"({p.X}, {p.Y}) -> ({dx:0.0000}, {dy:0.0000})"); } Console.WriteLine("停止しました。"); Console.ReadLine(); }