private void Run() { SyncSettings(); int remaining = count; while (countType == CountType.UntilStopped || remaining > 0) { if (!IsAlive) { return; } foreach (AutoAction action in Actions) { SyncSettings(); //Delay int nextDelay = action.delayType == DelayType.Fixed ? action.delay : nextDelay = rnd.Next(action.delay, action.delayRange); if (action.AutoActionType == ActionType.Click) { Clicker.Click(action); } else if (action.AutoActionType == ActionType.Type) { } NextClick?.Invoke(this, new NextClickEventArgs { NextClick = nextDelay }); Thread.Sleep(nextDelay);//Sleep delay time } remaining--; } Finished?.Invoke(this, null); }