feat(rapier_testbed): autosave testbed configuration + add support for per-example settings (#799)
* feat(rapier_testbed): autosave testbed configuration + add support for per-example parameters * feat(rapier_testbed): also save the camera position * feat(rapier_testbed): improve ergonomics of example-specific settings * chore: cargo fmt * chore(rapier_testbed): small UI ergonomics improvement * chore(rapier_testbed): clippy fixes
This commit is contained in:
@@ -13,6 +13,7 @@ use rapier::math::{Isometry, Real, Vector};
|
||||
//#[cfg(feature = "dim2")]
|
||||
//use crate::objects::polyline::Polyline;
|
||||
// use crate::objects::mesh::Mesh;
|
||||
use crate::testbed::TestbedStateFlags;
|
||||
use rand::{Rng, SeedableRng};
|
||||
use rand_pcg::Pcg32;
|
||||
use std::collections::HashMap;
|
||||
@@ -362,9 +363,11 @@ impl GraphicsManager {
|
||||
|
||||
pub fn draw(
|
||||
&mut self,
|
||||
flags: TestbedStateFlags,
|
||||
_bodies: &RigidBodySet,
|
||||
colliders: &ColliderSet,
|
||||
components: &mut Query<&mut Transform>,
|
||||
visibilities: &mut Query<&mut Visibility>,
|
||||
_materials: &mut Assets<BevyMaterial>,
|
||||
) {
|
||||
for (_, ns) in self.b2sn.iter_mut() {
|
||||
@@ -386,6 +389,14 @@ impl GraphicsManager {
|
||||
// }
|
||||
// }
|
||||
|
||||
if let Ok(mut vis) = visibilities.get_mut(n.entity) {
|
||||
if flags.contains(TestbedStateFlags::DRAW_SURFACES) {
|
||||
*vis = Visibility::Inherited;
|
||||
} else {
|
||||
*vis = Visibility::Hidden;
|
||||
}
|
||||
}
|
||||
|
||||
n.update(colliders, components, &self.gfx_shift);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user