public InfiniteLoop(int SleepTime, OnTickCallback Callback) { this.SleepTime = SleepTime; this.Callback = Callback; this.Running = true; StartLoop(); }
protected async void StartLoop() { while (Running) { BeforeAction(); OnTickCallback CallbackCpy = Callback; if (CallbackCpy != null) { CallbackCpy.Invoke(); } await Task.Delay(TimeToWait()); } Dispose(); }
public void Dispose() { Callback = null; }
public FixedInfiniteLoop(int SleepTime, OnTickCallback Callback) : base(SleepTime, Callback) { }