ArchiSteamFarm.CardsFarmer.StopFarming C# (CSharp) Метод

StopFarming() приватный Метод

private StopFarming ( ) : Task
Результат Task
		internal async Task StopFarming() {
			if (!NowFarming) {
				return;
			}

			await FarmingSemaphore.WaitAsync().ConfigureAwait(false);

			try {
				if (!NowFarming) {
					return;
				}

				Bot.ArchiLogger.LogGenericInfo("Sending signal to stop farming");
				KeepFarming = false;
				FarmResetEvent.Set();

				Bot.ArchiLogger.LogGenericInfo("Waiting for reaction...");
				for (byte i = 0; (i < 5) && NowFarming; i++) {
					await Task.Delay(1000).ConfigureAwait(false);
				}

				if (NowFarming) {
					Bot.ArchiLogger.LogGenericWarning("Timed out!");
					NowFarming = false;
				}

				Bot.ArchiLogger.LogGenericInfo("Farming stopped!");
				Bot.OnFarmingStopped();
			} finally {
				FarmingSemaphore.Release();
			}
		}

Usage Example

Пример #1
0
        internal async Task Stop()
        {
            if (!IsRunning)
            {
                return;
            }

            await CardsFarmer.StopFarming().ConfigureAwait(false);

            IsRunning = false;
            SteamClient.Disconnect();
        }