1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use std::time::Duration;

pub struct EonForge {
    delta_time: f32,
    time_elapsed_since_start: Duration,
}

impl EonForge {
    pub fn new() -> EonForge {
        EonForge {
            delta_time: 0.0,
            time_elapsed_since_start: Duration::new(0, 0),
        }
    }

    pub fn start(&mut self) {
        self.time_elapsed_since_start = self.time_elapsed_since_start + Duration::new(1, 0);
    }

    pub fn update(&mut self, dt: f32) {
        self.time_elapsed_since_start = self.time_elapsed_since_start + Duration::new(1, 0);
        self.delta_time = dt;
    }

    pub fn get_delta_time(&self) -> f32 {
        self.delta_time
    }

    pub fn get_time_elapsed_since_start(&self) -> Duration {
        self.time_elapsed_since_start
    }
}