use crate::engine::d2::{display::TextSprite, Component};
pub struct FpsDisplay {
pub inner: Component,
fps_frames: usize,
fps_time: f32,
}
impl FpsDisplay {
pub fn new() -> Self {
Self {
inner: Component::default(),
fps_frames: 0,
fps_time: 0.0,
}
}
pub fn on_update(&mut self, dt: f32) {
self.fps_frames += 1;
self.fps_time += dt;
if self.fps_time > 1.0 {
let fps = self.fps_frames as f32 / self.fps_time;
let text = format!("FPS: {}", (fps * 100.0) as i32 / 100);
todo!("should deal with it");
}
}
fn reset(&mut self) {
self.fps_time = 0.0;
self.fps_frames = 0;
}
}
impl AsRef<Component> for FpsDisplay {
fn as_ref(&self) -> &Component {
&self.inner
}
}