use amethyst_assets::Processor;
use amethyst_core::{
bundle::SystemBundle,
ecs::prelude::{DispatcherBuilder, World},
SystemDesc,
};
use amethyst_error::Error;
use crate::{output::Output, source::*, systems::AudioSystemDesc};
#[derive(Default, Debug)]
pub struct AudioBundle(Output);
impl<'a, 'b> SystemBundle<'a, 'b> for AudioBundle {
fn build(
self,
world: &mut World,
builder: &mut DispatcherBuilder<'a, 'b>,
) -> Result<(), Error> {
builder.add(
AudioSystemDesc::new(self.0).build(world),
"audio_system",
&[],
);
builder.add(Processor::<Source>::new(), "source_processor", &[]);
Ok(())
}
}