aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-24 14:35:34 +0100
committerSébastien Crozet <sebastien@crozet.re>2022-03-20 21:49:16 +0100
commit22f21c14b8e54122d21b8750d9bf66b788f2955c (patch)
treed4f9ffea81875d4970988e7aa04c8e4451341146
parent0ef55c7df7160a6178dc52502408c3293b50a503 (diff)
downloadrapier-22f21c14b8e54122d21b8750d9bf66b788f2955c.tar.gz
rapier-22f21c14b8e54122d21b8750d9bf66b788f2955c.tar.bz2
rapier-22f21c14b8e54122d21b8750d9bf66b788f2955c.zip
Testbed: add a constructor that calls a custom closure with bevy’s App
-rw-r--r--examples3d-f64/debug_serialized3.rs2
-rw-r--r--examples3d-f64/rapier.databin0 -> 2017666 bytes
-rw-r--r--src_testbed/testbed.rs11
3 files changed, 9 insertions, 4 deletions
diff --git a/examples3d-f64/debug_serialized3.rs b/examples3d-f64/debug_serialized3.rs
index e94d7ef..e2fa747 100644
--- a/examples3d-f64/debug_serialized3.rs
+++ b/examples3d-f64/debug_serialized3.rs
@@ -18,7 +18,7 @@ pub fn init_world(testbed: &mut Testbed) {
* Set up the testbed.
*/
let bytes = std::fs::read("state.bin").unwrap();
- let mut state: State = bincode::deserialize(&bytes).unwrap();
+ let state: State = bincode::deserialize(&bytes).unwrap();
testbed.set_world(
state.bodies,
diff --git a/examples3d-f64/rapier.data b/examples3d-f64/rapier.data
new file mode 100644
index 0000000..33ddaa3
--- /dev/null
+++ b/examples3d-f64/rapier.data
Binary files differ
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs
index dba40fd..1a4181b 100644
--- a/src_testbed/testbed.rs
+++ b/src_testbed/testbed.rs
@@ -227,7 +227,11 @@ impl TestbedApp {
self.builders = SceneBuilders(builders)
}
- pub fn run(mut self) {
+ pub fn run(self) {
+ self.run_with_init(|_| {})
+ }
+
+ pub fn run_with_init(mut self, mut init: impl FnMut(&mut App)) {
let mut args = env::args();
let mut benchmark_mode = false;
@@ -392,8 +396,9 @@ impl TestbedApp {
.insert_non_send_resource(self.plugins)
.add_stage_before(CoreStage::Update, "physics", SystemStage::single_threaded())
.add_system_to_stage("physics", update_testbed.system())
- .add_system(egui_focus.system())
- .run();
+ .add_system(egui_focus.system());
+ init(&mut app);
+ app.run();
}
}
}