public WaitTimerFinishedHandler WaitTimer.Finished
Raised by Update after the interval has elapsed. Reading IsFinished alone does not raise this event.
Track a time interval without blocking the bot. Keep the same timer instance between ticks and reset it after the periodic work.
Namespace: DreamPoeBot.Loki.Common
public class WaitTimerStart with a concrete example: Gate repeated work →
public WaitTimerFinishedHandler WaitTimer.Finished
Raised by Update after the interval has elapsed. Reading IsFinished alone does not raise this event.
using System;
using System.Linq;
using DreamPoeBot.Loki.Game;
using DreamPoeBot.Loki.Game.Objects;
using DreamPoeBot.Loki.Bot;
using DreamPoeBot.Loki.Bot.Pathfinding;
using DreamPoeBot.Loki.Common;public sealed class PeriodicCheck
{
private readonly WaitTimer _timer = new WaitTimer(TimeSpan.FromSeconds(1));
public void Start() { _timer.Stop(); } // First check is immediately eligible.
public void Tick()
{
if (!_timer.IsFinished) return;
_timer.Reset();
// Perform one bounded check here.
}
}Requires System and DreamPoeBot.Loki.Common. This is a helper class, not a discoverable plugin: own one instance in your component and call its Start/Tick. The timer is a field, so it survives between ticks. Stop makes this timer eligible; it does not suspend the component.
See how these APIs fit together. Labs include complete source; the FollowBot walkthrough teaches you to build your own bot from selected fragments and checkpoints.
DPB2 0.4.5.88 · Reference reviewed 2026-10-03. Descriptions use source summaries where available, otherwise concise signature-based descriptions. Examples illustrate usage; they are not a live-game test.