INNER CODE UNIT · Rust

queue_managed_audio_system

CleanCut/rusty_engine · src/audio.rs:247

pub fn queue_managed_audio_system(
    mut commands: Commands,
    music_query: Query<(Entity, &AudioSink), With<Music>>,
    asset_server: Res<AssetServer>,
    mut game_state: ResMut<Engine>,
) {
    for (sfx, volume) in game_state.audio_manager.sfx_queue.drain(..) {
        commands.spawn((
            AudioPlayer::<AudioSource>(asset_server.load(format!("audio/{}", sfx))),
            PlaybackSettings {
                mode: PlaybackMode::Despawn,
                volume: Volume::Linear(volume),
                ..Default::default()
            },
        ));
    }
    let last_music_item = game_state.audio_manager.music_queue.pop();
    game_state.audio_manager.music_queue.clear();

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…