dial m for... mute/unmute

main
Elijah Voigt 1 week ago
parent d0703fcedf
commit a0ca524599

@ -65,6 +65,7 @@ fn main() {
// Run if any component added/removed: AudioSink
// Run if state changed: AudioPlayback
control_volume,
toggle_audio_state.run_if(input_just_pressed(KeyCode::KeyM)),
de_spawn_cells
.run_if(not(is_ui_hovered))
.run_if(not(is_panning))
@ -981,6 +982,21 @@ fn load_audio_tones(mut pitches: ResMut<Assets<Pitch>>, mut cell_assets: ResMut<
debug_assert_eq!(cell_assets.pitches.iter().len(), 132);
}
// When volume is toggled on/off make the following updates:
// * AudioPlayback state is flipped
fn toggle_audio_state(
mut next_state: ResMut<NextState<AudioPlayback>>,
curr_state: Res<State<AudioPlayback>>,
) {
// Set next audio playback state
next_state.set(
match curr_state.get() {
AudioPlayback::Play => AudioPlayback::Mute,
AudioPlayback::Mute => AudioPlayback::Play,
}
);
}
fn control_volume(
audio_state: Res<State<AudioPlayback>>,
simulation_state: Res<State<SimulationPlayback>>,

Loading…
Cancel
Save