feat: implement audio muting functionality

This commit is contained in:
2025-08-15 20:30:41 -05:00
parent fa12611c69
commit e0a15c1ca8

View File

@@ -8,7 +8,7 @@ use bevy_ecs::{
use crate::{ use crate::{
error::GameError, error::GameError,
events::{GameCommand, GameEvent}, events::{GameCommand, GameEvent},
systems::components::{GlobalState, PlayerControlled}, systems::components::{AudioState, GlobalState, PlayerControlled},
systems::debug::DebugState, systems::debug::DebugState,
systems::movement::Movable, systems::movement::Movable,
}; };
@@ -18,6 +18,7 @@ pub fn player_system(
mut events: EventReader<GameEvent>, mut events: EventReader<GameEvent>,
mut state: ResMut<GlobalState>, mut state: ResMut<GlobalState>,
mut debug_state: ResMut<DebugState>, mut debug_state: ResMut<DebugState>,
mut audio_state: ResMut<AudioState>,
mut players: Query<&mut Movable, With<PlayerControlled>>, mut players: Query<&mut Movable, With<PlayerControlled>>,
mut errors: EventWriter<GameError>, mut errors: EventWriter<GameError>,
) { ) {
@@ -46,6 +47,10 @@ pub fn player_system(
GameCommand::ToggleDebug => { GameCommand::ToggleDebug => {
*debug_state = debug_state.next(); *debug_state = debug_state.next();
} }
GameCommand::MuteAudio => {
audio_state.muted = !audio_state.muted;
tracing::info!("Audio {}", if audio_state.muted { "muted" } else { "unmuted" });
}
_ => {} _ => {}
} }
} }