diff --git a/src/lib.rs b/src/lib.rs index 744836b..f539910 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -77,10 +77,10 @@ impl Plugin for AsteroidPlugin { ) .run_if(in_state(GameState::Playing)), ) - .add_event::() - .add_event::() - .add_event::() - .add_event::(); + .add_message::() + .add_message::() + .add_message::() + .add_message::(); app.insert_state(GameState::TitleScreen); } } diff --git a/src/objects.rs b/src/objects.rs index 49bf143..35ebb3e 100644 --- a/src/objects.rs +++ b/src/objects.rs @@ -6,7 +6,7 @@ use bevy::{ ecs::{ component::Component, entity::Entity, - event::{EventReader, EventWriter}, + message::{MessageReader, MessageWriter}, query::With, system::{Commands, Query, Res, ResMut, Single}, }, @@ -69,7 +69,7 @@ pub struct Debris; /// Responds to [`SpawnAsteroid`] events, spawning as specified pub fn spawn_asteroid( - mut events: EventReader, + mut events: MessageReader, mut commands: Commands, game_assets: Res, ) { @@ -109,8 +109,8 @@ pub fn spawn_asteroid( /// The velocity of the child asteroids is scattered somewhat, as if they were /// explosively pushed apart. pub fn split_asteroids( - mut destroy_events: EventReader, - mut respawn_events: EventWriter, + mut destroy_events: MessageReader, + mut respawn_events: MessageWriter, mut commands: Commands, query: Query<(&Transform, &Asteroid, &Velocity)>, ) { @@ -171,7 +171,7 @@ pub fn spawn_player(mut commands: Commands, game_assets: Res) { /// Watch for [`BulletDestroy`] events and despawn /// the associated bullet. -pub fn bullet_impact_listener(mut commands: Commands, mut events: EventReader) { +pub fn bullet_impact_listener(mut commands: Commands, mut events: MessageReader) { for event in events.read() { commands.entity(event.0).despawn(); } @@ -187,7 +187,7 @@ pub fn bullet_impact_listener(mut commands: Commands, mut events: EventReader, + mut events: MessageReader, mut commands: Commands, mut lives: ResMut, rocks: Query>, diff --git a/src/physics.rs b/src/physics.rs index 5617696..f066d22 100644 --- a/src/physics.rs +++ b/src/physics.rs @@ -89,10 +89,10 @@ pub(crate) fn wrap_entities( /// | Bullet & Bullet | Nothing. Bullets won't collide with each other (and probably can't under normal gameplay conditions) | /// | Bullet & Ship | Nothing. The player shouldn't be able to shoot themselves (and the Flying Saucer hasn't been impl.'d, so it's bullets don't count) | pub fn collision_listener( - mut collisions: EventReader, - mut ship_writer: EventWriter, - mut asteroid_writer: EventWriter, - mut bullet_writer: EventWriter, + mut collisions: BufferedReader, + mut ship_writer: MessageWriter, + mut asteroid_writer: MessageWriter, + mut bullet_writer: MessageWriter, player: Single>, bullets: Query<&Bullet>, rocks: Query<&Asteroid>,