CTOR (empty)
Registers an entry for the timer.
Resumes timer and shifts all entries by given time delta.
Suspends the timer and saves the current timestamp to calculate timeshift caused by suspension.
Tests the entries. If enough time has passed, then those entries will be called and deleted.
A timer entry.
Contains various status flags.
Time when suspension happened.
The list of timer entries.
Secondary timer list.
Implements a coarse timer, that checks the time periodically (e.g. on VSYNC), then calls the delegate if the time assigned to it has been lapsed. Is fast and can effectively test for multiple elements, but is inaccurate which can even fluctuate if tests are done on VSYNC intervals. This will make the duration longer in every case (up to 16.7ms on 60Hz displays), but this still should be accurate enough for many cases. In theory, calls for test can be done separate from VSYNC intervals by running it in its own thread, but that can cause potential race issues. Delegates take the jitter argument, which is the overshoot of the time. Can be suspended for game pausing, etc., while keeping time deltas mostly accurate. Multiple instances of this class can be used to create various effects from suspending the timer.