Skip to content
Snippets Groups Projects
Commit e3953af3 authored by william.ho's avatar william.ho
Browse files

setting_volum_connect_audio

parent 1b409ced
No related branches found
No related tags found
No related merge requests found
use bevy::{prelude::*};
use bevy::prelude::*;
use super::{despawn_screen, GameState};
use super::{despawn_screen, GameState, Volume};
pub struct AudioPlugin;
......@@ -8,31 +8,32 @@ impl Plugin for AudioPlugin {
fn build(&self, app: &mut App) {
app
.add_systems(OnEnter(GameState::Victory), audio_win)
.add_systems(OnExit(GameState::Victory), despawn_screen::<AudioMenu>)
.add_systems(OnExit(GameState::Victory), despawn_screen::<Audio>)
.add_systems(OnEnter(GameState::GameOver), audio_defeat)
.add_systems(OnExit(GameState::GameOver), despawn_screen::<AudioMenu>)
.add_systems(OnExit(GameState::GameOver), despawn_screen::<Audio>)
.add_systems(OnEnter(GameState::Menu), audio_menu)
.add_systems(OnExit(GameState::Menu), despawn_screen::<AudioMenu>)
.add_systems(OnExit(GameState::Menu), despawn_screen::<Audio>)
.add_systems(OnEnter(GameState::Game), audio_game)
.add_systems(OnExit(GameState::Game), despawn_screen::<AudioMenu>)
.add_systems(OnExit(GameState::Game), despawn_screen::<Audio>)
.add_systems(OnEnter(GameState::Fight), audio_fight)
.add_systems(OnExit(GameState::Fight), despawn_screen::<AudioMenu>);
.add_systems(OnExit(GameState::Fight), despawn_screen::<Audio>)
.add_systems(Update, audio_volume);
}
}
#[derive(Component)]
struct AudioMenu;
struct Audio;
fn audio_win(mut commands: Commands, asset_server: Res<AssetServer>) {
commands
.spawn((
AudioBundle {
source: asset_server.load("sound/victoire.ogg"),
source: asset_server.load("sound/victoire.ogg"),
//connecter le volum avec le settings
..default()
},
AudioMenu,
Audio,
));
}
......@@ -44,7 +45,7 @@ fn audio_defeat (mut commands: Commands, asset_server: Res<AssetServer>) {
//connecter le volum avec le settings
..default()
},
AudioMenu,
Audio,
));
}
......@@ -56,7 +57,7 @@ fn audio_menu (mut commands: Commands, asset_server: Res<AssetServer>) {
//connecter le volum avec le settings
..default()
},
AudioMenu,
Audio,
));
}
......@@ -68,7 +69,7 @@ fn audio_game (mut commands: Commands, asset_server: Res<AssetServer>) {
//connecter le volum avec le settings
..default()
},
AudioMenu,
Audio,
));
}
......@@ -80,6 +81,15 @@ fn audio_fight (mut commands: Commands, asset_server: Res<AssetServer>) {
//connecter le volum avec le settings
..default()
},
AudioMenu,
Audio,
));
}
fn audio_volume(volume_audio: Res<Volume>,
mut audio: Query<&AudioSink, With<Audio>>,
) {
let new_volume: f32 = volume_audio.0 as f32;
for entity in &audio {
entity.set_volume(new_volume);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment