aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/plugin.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src_testbed/plugin.rs')
-rw-r--r--src_testbed/plugin.rs30
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;
}