bevy_diagnostic/
entity_count_diagnostics_plugin.rs1use bevy_app::prelude::*;
2use bevy_ecs::entity::Entities;
3
4use crate::{Diagnostic, DiagnosticPath, Diagnostics, RegisterDiagnostic};
5
6#[derive(Default)]
12pub struct EntityCountDiagnosticsPlugin;
13
14impl Plugin for EntityCountDiagnosticsPlugin {
15 fn build(&self, app: &mut App) {
16 app.register_diagnostic(Diagnostic::new(Self::ENTITY_COUNT))
17 .add_systems(Update, Self::diagnostic_system);
18 }
19}
20
21impl EntityCountDiagnosticsPlugin {
22 pub const ENTITY_COUNT: DiagnosticPath = DiagnosticPath::const_new("entity_count");
23
24 pub fn diagnostic_system(mut diagnostics: Diagnostics, entities: &Entities) {
25 diagnostics.add_measurement(&Self::ENTITY_COUNT, || entities.len() as f64);
26 }
27}