use input::TimerDuration;
use std::time;
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct Timer {
pub(crate) start: time::Instant,
}
impl Timer {
pub fn new() -> Self {
Self {
start: time::Instant::now(),
}
}
pub fn reset(&mut self) {
self.start = time::Instant::now();
}
pub fn elapsed(
&self,
) -> TimerDuration {
let dt = self.start.elapsed();
dt.as_secs() as f32 + 1e-9 * dt.subsec_nanos() as f32
}
}