aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/debug_render.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src_testbed/debug_render.rs')
-rw-r--r--src_testbed/debug_render.rs38
1 files changed, 23 insertions, 15 deletions
diff --git a/src_testbed/debug_render.rs b/src_testbed/debug_render.rs
index 8b79edc..4633865 100644
--- a/src_testbed/debug_render.rs
+++ b/src_testbed/debug_render.rs
@@ -7,17 +7,23 @@ use rapier::pipeline::{
};
#[derive(Resource)]
-pub struct DebugRenderPipelineResource(pub DebugRenderPipeline);
+pub struct DebugRenderPipelineResource {
+ pub pipeline: DebugRenderPipeline,
+ pub enabled: bool,
+}
#[derive(Default)]
pub struct RapierDebugRenderPlugin {}
impl Plugin for RapierDebugRenderPlugin {
fn build(&self, app: &mut App) {
- app.insert_resource(DebugRenderPipelineResource(DebugRenderPipeline::new(
- Default::default(),
- !DebugRenderMode::RIGID_BODY_AXES & !DebugRenderMode::COLLIDER_AABBS,
- )))
+ app.insert_resource(DebugRenderPipelineResource {
+ pipeline: DebugRenderPipeline::new(
+ Default::default(),
+ !DebugRenderMode::RIGID_BODY_AXES & !DebugRenderMode::COLLIDER_AABBS,
+ ),
+ enabled: false,
+ })
.add_systems(Update, debug_render_scene);
}
}
@@ -46,17 +52,19 @@ impl<'a> DebugRenderBackend for BevyLinesRenderBackend<'a> {
}
fn debug_render_scene(
- mut pipeline: ResMut<DebugRenderPipelineResource>,
+ mut debug_render: ResMut<DebugRenderPipelineResource>,
harness: NonSend<Harness>,
gizmos: Gizmos,
) {
- let mut backend = BevyLinesRenderBackend { gizmos };
- pipeline.0.render(
- &mut backend,
- &harness.physics.bodies,
- &harness.physics.colliders,
- &harness.physics.impulse_joints,
- &harness.physics.multibody_joints,
- &harness.physics.narrow_phase,
- );
+ if debug_render.enabled {
+ let mut backend = BevyLinesRenderBackend { gizmos };
+ debug_render.pipeline.render(
+ &mut backend,
+ &harness.physics.bodies,
+ &harness.physics.colliders,
+ &harness.physics.impulse_joints,
+ &harness.physics.multibody_joints,
+ &harness.physics.narrow_phase,
+ );
+ }
}