From 16eac466a4fc7252aa018a8384fa668d466adb25 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Thu, 10 Jun 2021 19:15:50 -0500 Subject: [PATCH] Parameterize Rapier user data. --- src/core.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/core.rs b/src/core.rs index 69be08c..bf67fe1 100644 --- a/src/core.rs +++ b/src/core.rs @@ -1,10 +1,11 @@ use std::{ cmp::{max, min}, fmt::Display, + marker::PhantomData, ops::{Add, AddAssign, Sub, SubAssign}, }; -use bevy::{core::FloatOrd, prelude::*, transform::TransformSystem}; +use bevy::{core::FloatOrd, ecs::query::WorldQuery, prelude::*, transform::TransformSystem}; use bevy_rapier2d::prelude::*; use derive_more::{Deref, DerefMut}; use rand::prelude::*; @@ -611,14 +612,22 @@ impl Plugin for CorePlugin { } } -pub struct CorePlugins; +pub struct CorePlugins(PhantomData); -impl PluginGroup for CorePlugins { +impl Default for CorePlugins { + fn default() -> Self { + Self(PhantomData) + } +} + +impl PluginGroup + for CorePlugins +{ fn build(&mut self, group: &mut bevy::app::PluginGroupBuilder) { group .add(crate::bevy_tts::TtsPlugin) .add(crate::bevy_openal::OpenAlPlugin) - .add(CorePlugin) - .add(RapierPhysicsPlugin::::default()); + .add(RapierPhysicsPlugin::::default()) + .add(CorePlugin); } }