diff options
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/util/Timer.kt')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/util/Timer.kt | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/util/Timer.kt b/src/main/kotlin/moe/nea/firmament/util/Timer.kt new file mode 100644 index 0000000..bfdc9d1 --- /dev/null +++ b/src/main/kotlin/moe/nea/firmament/util/Timer.kt @@ -0,0 +1,23 @@ +package moe.nea.firmament.util + +import kotlin.time.Duration +import kotlin.time.ExperimentalTime +import kotlin.time.TimeSource + +@OptIn(ExperimentalTime::class) +class Timer { + private var mark: TimeSource.Monotonic.ValueTimeMark? = null + + fun timePassed(): Duration { + return mark?.elapsedNow() ?: Duration.INFINITE + } + + fun markNow() { + mark = TimeSource.Monotonic.markNow() + } + + fun markFarPast() { + mark = null + } + +} |