diff --git a/assets/sounds/blip.wav b/assets/sounds/blip.wav index 9423f53..b7827ed 100644 Binary files a/assets/sounds/blip.wav and b/assets/sounds/blip.wav differ diff --git a/assets/sounds/collision.wav b/assets/sounds/collision.wav index 8abf91d..22f480c 100644 Binary files a/assets/sounds/collision.wav and b/assets/sounds/collision.wav differ diff --git a/assets/sounds/tick.wav b/assets/sounds/tick.wav index af47165..cc48b5b 100644 Binary files a/assets/sounds/tick.wav and b/assets/sounds/tick.wav differ diff --git a/src/snake.rs b/src/snake.rs index aafc7d4..aba95be 100644 --- a/src/snake.rs +++ b/src/snake.rs @@ -26,57 +26,46 @@ impl Plugin for SnakePlugin { .add_event::() .insert_resource(bulge::PropagationTimer::default()) .add_startup_system(setup_snake_system) - .add_system( - segments_movement_system - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::Movement) - .run_if(in_state(GameState::InGame)) - .after(SystemSet::DirectionFlush), + .add_systems( + ( + segments_movement_system + .in_set(SystemSet::Movement) + .run_if(in_state(GameState::InGame)) + .after(SystemSet::DirectionFlush), + direction::apply_direction_system + .run_if(in_state(GameState::InGame)) + .before(SystemSet::DirectionFlush), + apply_system_buffers + .in_set(SystemSet::DirectionFlush) + .run_if(in_state(GameState::InGame)), + collision_system + .in_set(SystemSet::CollisionDetection) + .run_if(in_state(GameState::InGame)) + .after(SystemSet::DirectionFlush), + game_over_system + .in_set(SystemSet::CollisionDetection) + .run_if(in_state(GameState::InGame)) + .after(collision_system) + .run_if(about_to_collide), + ) + .in_schedule(CoreSchedule::FixedUpdate), ) - .add_system( - direction::apply_direction_system - .in_schedule(CoreSchedule::FixedUpdate) - .run_if(in_state(GameState::InGame)) - .before(SystemSet::DirectionFlush), - ) - .add_system( - apply_system_buffers - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::DirectionFlush) - .run_if(in_state(GameState::InGame)), - ) - .add_system( - collision_system - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::CollisionDetection) - .run_if(in_state(GameState::InGame)) - .after(SystemSet::DirectionFlush), - ) - .add_system( - game_over_system - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::CollisionDetection) - .run_if(in_state(GameState::InGame)) - .after(collision_system) - .run_if(about_to_collide), - ) - .add_system( + .add_systems(( + grid_transform_system.run_if(in_state(GameState::InGame)), + direction::start_game_system.run_if(in_state(GameState::Begin)), + direction::change_direction_system, + bulge::add_bulge_system, + bulge::propagate_bulge_system, + bulge::animate_bulge_system, + add_tail_system, + eaten_event_system, + )) + .add_systems(( collision_sound_system .run_if(in_state(GameState::InGame)) .run_if(about_to_collide), - ) - .add_system( - blip_sound_system - .run_if(fruit::eaten_event_sent), - ) - .add_system(direction::start_game_system.run_if(in_state(GameState::Begin))) - .add_system(direction::change_direction_system) - .add_system(grid_transform_system.run_if(in_state(GameState::InGame))) - .add_system(add_tail_system) - .add_system(bulge::add_bulge_system) - .add_system(bulge::propagate_bulge_system) - .add_system(bulge::animate_bulge_system) - .add_system(eaten_event_system); + blip_sound_system.run_if(fruit::eaten_event_sent), + )); #[cfg(debug_assertions)] app.add_system(debug::add_tail); diff --git a/src/snake/direction.rs b/src/snake/direction.rs index a31a5e2..1d0ab47 100644 --- a/src/snake/direction.rs +++ b/src/snake/direction.rs @@ -61,7 +61,7 @@ pub(super) fn change_direction_system( return; } } - + commands.entity(snake).insert(NewDirection(new_direction)); audio.play(audio_assets.tick.clone()); }