mod colliders;
mod configuration;
mod gizmos;
pub use crate::gizmo_shape::{GizmoContours, GizmoShape};
pub use colliders::ShowColliders;
pub use configuration::{FdmDebugRender, FdmGizmos};
use crate::_bevy::*;
use bevy_transform::TransformSystems;
use gizmos::*;
#[derive(Default)]
pub struct AircraftFdmDebugPlugin;
impl Plugin for AircraftFdmDebugPlugin {
fn build(&self, app: &mut App) {
colliders::plugin(app);
app.init_gizmo_group::<FdmGizmos>();
app.register_type::<FdmDebugRender>();
let mut store = app.world_mut().resource_mut::<GizmoConfigStore>();
store.config_mut::<FdmGizmos>().0.line.width = 1.5;
app.add_systems(
PostUpdate,
(
debug_render_cg,
debug_render_ac,
debug_render_zone_forces,
debug_render_thrust,
debug_render_resultant,
debug_render_moments,
debug_render_zones,
debug_render_wind,
)
.after(TransformSystems::Propagate)
.run_if(|store: Res<GizmoConfigStore>| store.config::<FdmGizmos>().0.enabled),
);
}
}