diff --git a/src/sound/mod.rs b/src/sound/mod.rs index 4d2a524..9944630 100644 --- a/src/sound/mod.rs +++ b/src/sound/mod.rs @@ -1,8 +1,6 @@ use std::{fmt::Debug, hash::Hash}; -use bevy::prelude::*; - -use crate::core::CoreConfig; +use bevy::{app::PluginGroupBuilder, prelude::*}; pub mod footstep; pub mod icon; @@ -22,28 +20,23 @@ pub use volumetric::Volumetric; } }*/ -pub struct SoundPlugin<'a, S>(std::marker::PhantomData<&'a S>); +pub struct SoundPlugins<'a, S>(std::marker::PhantomData<&'a S>); -impl<'a, S> Default for SoundPlugin<'a, S> { +impl<'a, S> Default for SoundPlugins<'a, S> { fn default() -> Self { Self(std::marker::PhantomData) } } -impl Plugin for SoundPlugin<'static, S> +impl PluginGroup for SoundPlugins<'static, S> where S: 'static + Clone + Debug + Eq + Hash + Send + Sync, { - fn build(&self, app: &mut App) { - let _core_config = *app.world.get_resource::().unwrap(); - /*if let Some(context) = app.world.get_resource::() { - context - .set_meters_per_unit(1. / core_config.pixels_per_unit as f32) - .unwrap(); - }*/ - app.add_plugin(footstep::FootstepPlugin) - .add_plugin(icon::SoundIconPlugin::::default()) - .add_plugin(volumetric::VolumetricPlugin); + fn build(self) -> PluginGroupBuilder { + PluginGroupBuilder::start::() + .add(footstep::FootstepPlugin) + .add(icon::SoundIconPlugin::::default()) + .add(volumetric::VolumetricPlugin) // .add_system(scale_sounds); } }