private async void Craft() { #region Fields Random rng; totalProgressBar.Value = 0; totalProgressBar.Maximum = Utilities.numOfLoops * (Utilities.durationOfLoop + Utilities.numOfClicks * (Utilities.minClickDelay + Utilities.maxClickDelay) / 2); totalProgressBar.Step = inaccuracyIncrement; totalProgressBarTimer.Start(); int hours = totalProgressBar.Maximum / 3600000; int minutes = (totalProgressBar.Maximum - 3600000 * hours) / 60000; int seconds = (totalProgressBar.Maximum - 3600000 * hours - 60000 * minutes) / 1000; estimatedTotalLabel.Text = ("Estimated Total Time:\n" + $"{hours} h, {minutes} min, {seconds} sec."); #endregion for (int t = 0; t < Utilities.numOfLoops; t++) { rng = new Random(); VirtualMouse.LeftUp(); Utilities.prevMousePosition = VirtualMouse.GetPosition() * Utilities.scaleMultiplier; for (int l = 0; l < Utilities.numOfClicks; l++) { delayTime = rng.Next(Utilities.minClickDelay, Utilities.maxClickDelay + 1); VirtualMouse.MoveTo(Utilities.buttonPositionX * Utilities.scaleMultiplier, Utilities.buttonPositionY * Utilities.scaleMultiplier); VirtualMouse.LeftDown(); VirtualMouse.LeftUp(); currentProgressBar.Value = 0; currentProgressBar.Maximum = delayTime; currentProgressBar.Step = inaccuracyIncrement; currentProgressBarTimer.Start(); await Delayer(delayTime).ConfigureAwait(true); currentProgressBarTimer.Stop(); UpdateEventLog("Clicked with delay of " + delayTime + " ms"); } delayTime = rng.Next(Utilities.durationOfLoop, Utilities.durationOfLoop + Utilities.extraDurationOfLoop + 1); VirtualMouse.MoveTo(Utilities.prevMousePosition.X, Utilities.prevMousePosition.Y); currentProgressBar.Value = 0; currentProgressBar.Maximum = delayTime; currentProgressBar.Step = inaccuracyIncrement; currentProgressBarTimer.Start(); UpdateEventLog("Job will perform for " + delayTime + " more ms"); await Delayer(delayTime).ConfigureAwait(true); currentProgressBarTimer.Stop(); } UpdateEventLog("Task completed"); totalProgressBarTimer.Stop(); totalProgressBar.Value = totalProgressBar.Maximum; currentProgressBar.Value = currentProgressBar.Maximum; }
private void MousePosRefreshTimer_Tick(object sender, EventArgs e) { CurrentMousePositionLabel2.Text = VirtualMouse.GetPosition().ToString(); }