diff options
| author | Sébastien Crozet <developer@crozet.re> | 2022-01-24 14:35:34 +0100 |
|---|---|---|
| committer | Sébastien Crozet <developer@crozet.re> | 2022-01-24 14:35:34 +0100 |
| commit | f24f71f592b7b8d6efcbc99b4c95e7df97e4ff69 (patch) | |
| tree | 16d500bb1b96567b472f00c8eea7306698364e3e | |
| parent | 71bb25acf821512f5c6d5cfc4e8db5b853f4cb0b (diff) | |
| download | rapier-testbed-init-app.tar.gz rapier-testbed-init-app.tar.bz2 rapier-testbed-init-app.zip | |
Testbed: add a constructor that calls a custom closure with bevy’s Apptestbed-init-app
| -rw-r--r-- | examples3d-f64/debug_serialized3.rs | 2 | ||||
| -rw-r--r-- | examples3d-f64/rapier.data | bin | 0 -> 2017666 bytes | |||
| -rw-r--r-- | src_testbed/testbed.rs | 11 |
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 Binary files differnew file mode 100644 index 0000000..33ddaa3 --- /dev/null +++ b/examples3d-f64/rapier.data 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(); } } } |
