diff --git a/assets/audio/music/Fluffing A Duck.ogg b/assets/audio/music/Fluffing A Duck.ogg deleted file mode 100644 index 2c88097..0000000 Binary files a/assets/audio/music/Fluffing A Duck.ogg and /dev/null differ diff --git a/assets/audio/music/Monkeys Spinning Monkeys.ogg b/assets/audio/music/Monkeys Spinning Monkeys.ogg deleted file mode 100644 index ddd190c..0000000 Binary files a/assets/audio/music/Monkeys Spinning Monkeys.ogg and /dev/null differ diff --git a/src/lib.rs b/src/lib.rs index a759bd2..bdb1c52 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -53,7 +53,7 @@ impl Plugin for AppPlugin { }) .set(AudioPlugin { global_volume: GlobalVolume { - volume: Volume::new(0.), + volume: Volume::new(0.3), }, ..default() }), diff --git a/src/player/systems/mod.rs b/src/player/systems/mod.rs index 6c57646..080d5f2 100644 --- a/src/player/systems/mod.rs +++ b/src/player/systems/mod.rs @@ -3,7 +3,7 @@ mod movement; pub mod setup; mod vertical_transition; -use crate::screens::Screen; +use crate::{screens::Screen, AppSet}; use bevy::prelude::*; use input::player_input; use movement::player_movement; @@ -12,7 +12,11 @@ use vertical_transition::handle_floor_transition; pub(super) fn plugin(app: &mut App) { app.add_systems( Update, - (player_input, player_movement, handle_floor_transition) + ( + player_input.in_set(AppSet::RecordInput), + player_movement, + handle_floor_transition.in_set(AppSet::RecordInput), + ) .chain() .run_if(in_state(Screen::Gameplay)), ); diff --git a/src/screens/gameplay.rs b/src/screens/gameplay.rs index 2e802a0..7cafbec 100644 --- a/src/screens/gameplay.rs +++ b/src/screens/gameplay.rs @@ -1,10 +1,10 @@ //! The screen state for the main gameplay. -use bevy::{input::common_conditions::input_just_pressed, prelude::*}; - use crate::maze::spawn_level_command; use crate::player::spawn_player_command; -use crate::{asset_tracking::LoadResource, audio::Music, screens::Screen}; +use crate::screens::Screen; + +use bevy::{input::common_conditions::input_just_pressed, prelude::*}; pub(super) fn plugin(app: &mut App) { app.add_systems( @@ -12,10 +12,6 @@ pub(super) fn plugin(app: &mut App) { (spawn_level_command, spawn_player_command).chain(), ); - app.load_resource::(); - app.add_systems(OnEnter(Screen::Gameplay), play_gameplay_music); - app.add_systems(OnExit(Screen::Gameplay), stop_music); - app.add_systems( Update, return_to_title_screen @@ -23,41 +19,6 @@ pub(super) fn plugin(app: &mut App) { ); } -#[derive(Resource, Asset, Reflect, Clone)] -pub struct GameplayMusic { - #[dependency] - handle: Handle, - entity: Option, -} - -impl FromWorld for GameplayMusic { - fn from_world(world: &mut World) -> Self { - let assets = world.resource::(); - Self { - handle: assets.load("audio/music/Fluffing A Duck.ogg"), - entity: None, - } - } -} - -fn play_gameplay_music(mut commands: Commands, mut music: ResMut) { - music.entity = Some( - commands - .spawn(( - AudioPlayer::(music.handle.clone()), - PlaybackSettings::LOOP, - Music, - )) - .id(), - ); -} - -fn stop_music(mut commands: Commands, mut music: ResMut) { - if let Some(entity) = music.entity.take() { - commands.entity(entity).despawn_recursive(); - } -} - fn return_to_title_screen(mut next_screen: ResMut>) { next_screen.set(Screen::Title); } diff --git a/src/screens/loading.rs b/src/screens/loading.rs index d77076e..7460a5f 100644 --- a/src/screens/loading.rs +++ b/src/screens/loading.rs @@ -4,11 +4,11 @@ use bevy::prelude::*; use crate::{ - screens::{gameplay::GameplayMusic, Screen}, + screens::Screen, theme::{interaction::InteractionAssets, prelude::*}, }; -pub(super) fn plugin(app: &mut App) { +pub fn plugin(app: &mut App) { app.add_systems(OnEnter(Screen::Loading), spawn_loading_screen); app.add_systems( @@ -33,9 +33,6 @@ fn continue_to_title_screen(mut next_screen: ResMut>) { next_screen.set(Screen::Title); } -const fn all_assets_loaded( - interaction_assets: Option>, - gameplay_music: Option>, -) -> bool { - interaction_assets.is_some() && gameplay_music.is_some() +const fn all_assets_loaded(interaction_assets: Option>) -> bool { + interaction_assets.is_some() } diff --git a/src/screens/splash.rs b/src/screens/splash.rs index 3171d0f..1147a45 100644 --- a/src/screens/splash.rs +++ b/src/screens/splash.rs @@ -8,7 +8,7 @@ use bevy::{ use crate::{screens::Screen, theme::prelude::*, AppSet}; -pub(super) fn plugin(app: &mut App) { +pub fn plugin(app: &mut App) { // Spawn splash screen. app.insert_resource(ClearColor(SPLASH_BACKGROUND_COLOR)); app.add_systems(OnEnter(Screen::Splash), spawn_splash_screen);