aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/plugin.rs
diff options
context:
space:
mode:
authorrezural <rezural@protonmail.com>2021-06-28 11:05:55 +1000
committerSébastien Crozet <sebastien@crozet.re>2021-07-08 10:07:42 +0200
commit7c249c873d28b4fa03023bff6fe3bf5df7a1cee9 (patch)
treede9c0095da5449e6e438284c572e48164e3f93cb /src_testbed/plugin.rs
parent62d6b0651b35b5b354c18b386d8a4e2c9669fd2f (diff)
downloadrapier-7c249c873d28b4fa03023bff6fe3bf5df7a1cee9.tar.gz
rapier-7c249c873d28b4fa03023bff6fe3bf5df7a1cee9.tar.bz2
rapier-7c249c873d28b4fa03023bff6fe3bf5df7a1cee9.zip
enable clear_graphics and run_callbacks agin
update plugin signature to recieve bevy structs, add Arc<Mutex<>> around gfx_components, we we can get shared mutable access add prefab_meshes() access function Remove Arc<Mutex<>>
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;
}