Skip to content

Commit eda6ffa

Browse files
Add EventWriter::new() to allow for creation outside of module
Field should not be pub to avoid violating guarantees, so we get a constructor instead
1 parent 77dc531 commit eda6ffa

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

crates/bevy_ecs/src/event.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,10 @@ impl<'a, T: Component> SystemParam for EventWriter<'a, T> {
168168
}
169169

170170
impl<'a, T: Component> EventWriter<'a, T> {
171+
pub fn new(events: &'a mut Events<T>) -> Self {
172+
EventWriter::<'a, T> { events }
173+
}
174+
171175
pub fn send(&mut self, event: T) {
172176
self.events.send(event);
173177
}

crates/bevy_ecs/src/query/event.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ use crate::{
77
component::{Component, ComponentId, StorageType},
88
prelude::World,
99
storage::{Table, Tables},
10-
world::Mut,
1110
};
1211
use std::any::TypeId;
1312

@@ -77,13 +76,13 @@ impl<'a, T: Component> Fetch<'a> for EventWriterFetch<T> {
7776
.write_fetch
7877
.archetype_fetch(archetype_index)
7978
.into_inner();
80-
EventWriter { events }
79+
EventWriter::new(events)
8180
}
8281

8382
/// Returns the EventWriter<T> of the next entity when the storage type of the query is dense
8483
unsafe fn table_fetch(&mut self, table_row: usize) -> Self::Item {
8584
let events = self.write_fetch.archetype_fetch(table_row).into_inner();
86-
EventWriter { events }
85+
EventWriter::new(events)
8786
}
8887
}
8988
struct EventWriterState<T> {

0 commit comments

Comments
 (0)