Skip to content

Commit 5f86668

Browse files
AlephCubedmockersf
andauthored
Renamed EventWriter::send methods to write. (bevyengine#17977)
Fixes bevyengine#17856. ## Migration Guide - `EventWriter::send` has been renamed to `EventWriter::write`. - `EventWriter::send_batch` has been renamed to `EventWriter::write_batch`. - `EventWriter::send_default` has been renamed to `EventWriter::write_default`. --------- Co-authored-by: François Mockers <[email protected]>
1 parent dba1f7a commit 5f86668

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+150
-113
lines changed

crates/bevy_app/src/app.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1713,9 +1713,9 @@ mod tests {
17131713
fn raise_exits(mut exits: EventWriter<AppExit>) {
17141714
// Exit codes chosen by a fair dice roll.
17151715
// Unlikely to overlap with default values.
1716-
exits.send(AppExit::Success);
1717-
exits.send(AppExit::from_code(4));
1718-
exits.send(AppExit::from_code(73));
1716+
exits.write(AppExit::Success);
1717+
exits.write(AppExit::from_code(4));
1718+
exits.write(AppExit::from_code(73));
17191719
}
17201720

17211721
let exit = App::new().add_systems(Update, raise_exits).run();

crates/bevy_app/src/terminal_ctrl_c_handler.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ impl TerminalCtrlCHandlerPlugin {
5050
/// Sends a [`AppExit`] event when the user presses `Ctrl+C` on the terminal.
5151
pub fn exit_on_flag(mut events: EventWriter<AppExit>) {
5252
if SHOULD_EXIT.load(Ordering::Relaxed) {
53-
events.send(AppExit::from_code(130));
53+
events.write(AppExit::from_code(130));
5454
}
5555
}
5656
}

crates/bevy_asset/src/asset_changed.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ mod tests {
330330
_query: Query<&mut MyComponent, AssetChanged<MyComponent>>,
331331
mut exit: EventWriter<AppExit>,
332332
) {
333-
exit.send(AppExit::Error(NonZero::<u8>::MIN));
333+
exit.write(AppExit::Error(NonZero::<u8>::MIN));
334334
}
335335
run_app(compatible_filter);
336336
}

crates/bevy_asset/src/assets.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ impl<A: Asset> Assets<A> {
579579
};
580580
}
581581
}
582-
events.send_batch(assets.queued_events.drain(..));
582+
events.write_batch(assets.queued_events.drain(..));
583583
}
584584

585585
/// A run condition for [`asset_events`]. The system will not run if there are no events to

crates/bevy_ecs/examples/events.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ struct MyEvent {
4545
fn sending_system(mut event_writer: EventWriter<MyEvent>) {
4646
let random_value: f32 = rand::random();
4747
if random_value > 0.5 {
48-
event_writer.send(MyEvent {
48+
event_writer.write(MyEvent {
4949
message: "A random event with value > 0.5".to_string(),
5050
random_value,
5151
});

crates/bevy_ecs/src/change_detection.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ pub trait DetectChangesMut: DetectChanges {
223223
/// let new_score = 0;
224224
/// if let Some(Score(previous_score)) = score.replace_if_neq(Score(new_score)) {
225225
/// // If `score` change, emit a `ScoreChanged` event.
226-
/// score_changed.send(ScoreChanged {
226+
/// score_changed.write(ScoreChanged {
227227
/// current: new_score,
228228
/// previous: previous_score,
229229
/// });

crates/bevy_ecs/src/event/writer.rs

+43-6
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ use bevy_ecs::{
1414
/// #[derive(Event)]
1515
/// pub struct MyEvent; // Custom event type.
1616
/// fn my_system(mut writer: EventWriter<MyEvent>) {
17-
/// writer.send(MyEvent);
17+
/// writer.write(MyEvent);
1818
/// }
1919
///
2020
/// # bevy_ecs::system::assert_is_system(my_system);
2121
/// ```
2222
/// # Observers
2323
///
24-
/// "Buffered" Events, such as those sent directly in [`Events`] or sent using [`EventWriter`], do _not_ automatically
24+
/// "Buffered" Events, such as those sent directly in [`Events`] or written using [`EventWriter`], do _not_ automatically
2525
/// trigger any [`Observer`]s watching for that event, as each [`Event`] has different requirements regarding _if_ it will
2626
/// be triggered, and if so, _when_ it will be triggered in the schedule.
2727
///
@@ -32,7 +32,7 @@ use bevy_ecs::{
3232
///
3333
/// # Untyped events
3434
///
35-
/// `EventWriter` can only send events of one specific type, which must be known at compile-time.
35+
/// `EventWriter` can only write events of one specific type, which must be known at compile-time.
3636
/// This is not a problem most of the time, but you may find a situation where you cannot know
3737
/// ahead of time every kind of event you'll need to send. In this case, you can use the "type-erased event" pattern.
3838
///
@@ -64,34 +64,71 @@ pub struct EventWriter<'w, E: Event> {
6464
}
6565

6666
impl<'w, E: Event> EventWriter<'w, E> {
67+
/// Writes an `event`, which can later be read by [`EventReader`](super::EventReader)s.
68+
/// This method returns the [ID](`EventId`) of the written `event`.
69+
///
70+
/// See [`Events`] for details.
71+
#[doc(alias = "send")]
72+
#[track_caller]
73+
pub fn write(&mut self, event: E) -> EventId<E> {
74+
self.events.send(event)
75+
}
76+
77+
/// Sends a list of `events` all at once, which can later be read by [`EventReader`](super::EventReader)s.
78+
/// This is more efficient than sending each event individually.
79+
/// This method returns the [IDs](`EventId`) of the written `events`.
80+
///
81+
/// See [`Events`] for details.
82+
#[doc(alias = "send_batch")]
83+
#[track_caller]
84+
pub fn write_batch(&mut self, events: impl IntoIterator<Item = E>) -> SendBatchIds<E> {
85+
self.events.send_batch(events)
86+
}
87+
88+
/// Writes the default value of the event. Useful when the event is an empty struct.
89+
/// This method returns the [ID](`EventId`) of the written `event`.
90+
///
91+
/// See [`Events`] for details.
92+
#[doc(alias = "send_default")]
93+
#[track_caller]
94+
pub fn write_default(&mut self) -> EventId<E>
95+
where
96+
E: Default,
97+
{
98+
self.events.send_default()
99+
}
100+
67101
/// Sends an `event`, which can later be read by [`EventReader`](super::EventReader)s.
68102
/// This method returns the [ID](`EventId`) of the sent `event`.
69103
///
70104
/// See [`Events`] for details.
105+
#[deprecated(since = "0.16.0", note = "Use `EventWriter::write` instead.")]
71106
#[track_caller]
72107
pub fn send(&mut self, event: E) -> EventId<E> {
73-
self.events.send(event)
108+
self.write(event)
74109
}
75110

76111
/// Sends a list of `events` all at once, which can later be read by [`EventReader`](super::EventReader)s.
77112
/// This is more efficient than sending each event individually.
78113
/// This method returns the [IDs](`EventId`) of the sent `events`.
79114
///
80115
/// See [`Events`] for details.
116+
#[deprecated(since = "0.16.0", note = "Use `EventWriter::write_batch` instead.")]
81117
#[track_caller]
82118
pub fn send_batch(&mut self, events: impl IntoIterator<Item = E>) -> SendBatchIds<E> {
83-
self.events.send_batch(events)
119+
self.write_batch(events)
84120
}
85121

86122
/// Sends the default value of the event. Useful when the event is an empty struct.
87123
/// This method returns the [ID](`EventId`) of the sent `event`.
88124
///
89125
/// See [`Events`] for details.
126+
#[deprecated(since = "0.16.0", note = "Use `EventWriter::write_default` instead.")]
90127
#[track_caller]
91128
pub fn send_default(&mut self) -> EventId<E>
92129
where
93130
E: Default,
94131
{
95-
self.events.send_default()
132+
self.write_default()
96133
}
97134
}

crates/bevy_ecs/src/system/system_param.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ unsafe impl<'w, 's, D: ReadOnlyQueryData + 'static, F: QueryFilter + 'static> Re
685685
/// // ...
686686
/// # let _event = event;
687687
/// }
688-
/// set.p1().send(MyEvent::new());
688+
/// set.p1().write(MyEvent::new());
689689
///
690690
/// let entities = set.p2().entities();
691691
/// // ...

crates/bevy_gilrs/src/gilrs_system.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub fn gilrs_event_startup_system(
2626
gamepads.id_to_entity.insert(id, entity);
2727
gamepads.entity_to_id.insert(entity, id);
2828

29-
events.send(GamepadConnectionEvent {
29+
events.write(GamepadConnectionEvent {
3030
gamepad: entity,
3131
connection: GamepadConnection::Connected {
3232
name: gamepad.name().to_string(),
@@ -69,8 +69,8 @@ pub fn gilrs_event_system(
6969
},
7070
);
7171

72-
events.send(event.clone().into());
73-
connection_events.send(event);
72+
events.write(event.clone().into());
73+
connection_events.write(event);
7474
}
7575
EventType::Disconnected => {
7676
let gamepad = gamepads
@@ -79,8 +79,8 @@ pub fn gilrs_event_system(
7979
.copied()
8080
.expect("mapping should exist from connection");
8181
let event = GamepadConnectionEvent::new(gamepad, GamepadConnection::Disconnected);
82-
events.send(event.clone().into());
83-
connection_events.send(event);
82+
events.write(event.clone().into());
83+
connection_events.write(event);
8484
}
8585
EventType::ButtonChanged(gilrs_button, raw_value, _) => {
8686
let Some(button) = convert_button(gilrs_button) else {
@@ -91,8 +91,8 @@ pub fn gilrs_event_system(
9191
.get(&gilrs_event.id)
9292
.copied()
9393
.expect("mapping should exist from connection");
94-
events.send(RawGamepadButtonChangedEvent::new(gamepad, button, raw_value).into());
95-
button_events.send(RawGamepadButtonChangedEvent::new(
94+
events.write(RawGamepadButtonChangedEvent::new(gamepad, button, raw_value).into());
95+
button_events.write(RawGamepadButtonChangedEvent::new(
9696
gamepad, button, raw_value,
9797
));
9898
}
@@ -105,8 +105,8 @@ pub fn gilrs_event_system(
105105
.get(&gilrs_event.id)
106106
.copied()
107107
.expect("mapping should exist from connection");
108-
events.send(RawGamepadAxisChangedEvent::new(gamepad, axis, raw_value).into());
109-
axis_event.send(RawGamepadAxisChangedEvent::new(gamepad, axis, raw_value));
108+
events.write(RawGamepadAxisChangedEvent::new(gamepad, axis, raw_value).into());
109+
axis_event.write(RawGamepadAxisChangedEvent::new(gamepad, axis, raw_value));
110110
}
111111
_ => (),
112112
};

crates/bevy_input/src/gamepad.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -1539,7 +1539,7 @@ pub fn gamepad_event_processing_system(
15391539
match event {
15401540
// Connections require inserting/removing components so they are done in a separate system
15411541
RawGamepadEvent::Connection(send_event) => {
1542-
processed_events.send(GamepadEvent::from(send_event.clone()));
1542+
processed_events.write(GamepadEvent::from(send_event.clone()));
15431543
}
15441544
RawGamepadEvent::Axis(RawGamepadAxisChangedEvent {
15451545
gamepad,
@@ -1559,8 +1559,8 @@ pub fn gamepad_event_processing_system(
15591559
gamepad_axis.analog.set(axis, filtered_value.raw);
15601560
let send_event =
15611561
GamepadAxisChangedEvent::new(gamepad, axis, filtered_value.scaled.to_f32());
1562-
processed_axis_events.send(send_event);
1563-
processed_events.send(GamepadEvent::from(send_event));
1562+
processed_axis_events.write(send_event);
1563+
processed_events.write(GamepadEvent::from(send_event));
15641564
}
15651565
RawGamepadEvent::Button(RawGamepadButtonChangedEvent {
15661566
gamepad,
@@ -1583,7 +1583,7 @@ pub fn gamepad_event_processing_system(
15831583
if button_settings.is_released(filtered_value.raw) {
15841584
// Check if button was previously pressed
15851585
if gamepad_buttons.pressed(button) {
1586-
processed_digital_events.send(GamepadButtonStateChangedEvent::new(
1586+
processed_digital_events.write(GamepadButtonStateChangedEvent::new(
15871587
gamepad,
15881588
button,
15891589
ButtonState::Released,
@@ -1595,7 +1595,7 @@ pub fn gamepad_event_processing_system(
15951595
} else if button_settings.is_pressed(filtered_value.raw) {
15961596
// Check if button was previously not pressed
15971597
if !gamepad_buttons.pressed(button) {
1598-
processed_digital_events.send(GamepadButtonStateChangedEvent::new(
1598+
processed_digital_events.write(GamepadButtonStateChangedEvent::new(
15991599
gamepad,
16001600
button,
16011601
ButtonState::Pressed,
@@ -1615,8 +1615,8 @@ pub fn gamepad_event_processing_system(
16151615
button_state,
16161616
filtered_value.scaled.to_f32(),
16171617
);
1618-
processed_analog_events.send(send_event);
1619-
processed_events.send(GamepadEvent::from(send_event));
1618+
processed_analog_events.write(send_event);
1619+
processed_events.write(GamepadEvent::from(send_event));
16201620
}
16211621
}
16221622
}
@@ -1699,7 +1699,7 @@ impl GamepadRumbleIntensity {
16991699
/// gamepads: Query<Entity, With<Gamepad>>,
17001700
/// ) {
17011701
/// for entity in gamepads.iter() {
1702-
/// rumble_requests.send(GamepadRumbleRequest::Add {
1702+
/// rumble_requests.write(GamepadRumbleRequest::Add {
17031703
/// gamepad: entity,
17041704
/// intensity: GamepadRumbleIntensity::MAX,
17051705
/// duration: Duration::from_secs_f32(0.5),

0 commit comments

Comments
 (0)