1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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(())
}
}