diff options
Diffstat (limited to 'src_testbed/plugin.rs')
| -rw-r--r-- | src_testbed/plugin.rs | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src_testbed/plugin.rs b/src_testbed/plugin.rs index 8603880..24a91dd 100644 --- a/src_testbed/plugin.rs +++ b/src_testbed/plugin.rs @@ -1,12 +1,32 @@ -use crate::harness::RunState; +use crate::harness::Harness; use crate::physics::PhysicsState; +use crate::GraphicsManager; +use bevy::prelude::{Assets, Commands, Mesh, Query, StandardMaterial, Transform}; use na::Point3; pub trait TestbedPlugin { - fn init_graphics(&mut self, gen_color: &mut dyn FnMut() -> Point3<f32>); - fn clear_graphics(&mut self); - fn run_callbacks(&mut self, physics: &mut PhysicsState, run_state: &RunState); + fn init_graphics( + &mut self, + graphics: &mut GraphicsManager, + commands: &mut Commands, + meshes: &mut Assets<Mesh>, + materials: &mut Assets<StandardMaterial>, + components: &mut Query<(&mut Transform,)>, + harness: &mut Harness, + + gen_color: &mut dyn FnMut() -> Point3<f32>, + ); + fn clear_graphics(&mut self, graphics: &mut GraphicsManager, commands: &mut Commands); + fn run_callbacks(&mut self, harness: &mut Harness); fn step(&mut self, physics: &mut PhysicsState); - fn draw(&mut self); + fn draw( + &mut self, + graphics: &mut GraphicsManager, + commands: &mut Commands, + meshes: &mut Assets<Mesh>, + materials: &mut Assets<StandardMaterial>, + components: &mut Query<(&mut Transform,)>, + harness: &mut Harness, + ); fn profiling_string(&self) -> String; } |
