use bevy::{
diagnostic::DiagnosticPath,
prelude::{ReflectResource, Resource},
reflect::Reflect,
};
use core::time::Duration;
use crate::diagnostics::{PhysicsDiagnostics, impl_diagnostic_paths};
#[derive(Resource, Debug, Default, Reflect)]
#[reflect(Resource, Debug)]
pub struct ColliderTreeDiagnostics {
pub optimize: Duration,
pub update: Duration,
}
impl PhysicsDiagnostics for ColliderTreeDiagnostics {
fn timer_paths(&self) -> Vec<(&'static DiagnosticPath, Duration)> {
vec![(Self::OPTIMIZE, self.optimize), (Self::UPDATE, self.update)]
}
}
impl_diagnostic_paths! {
impl ColliderTreeDiagnostics {
OPTIMIZE: "avian/collider_tree/optimize",
UPDATE: "avian/collider_tree/update",
}
}