| Crates.io | bevy_pareventwriter |
| lib.rs | bevy_pareventwriter |
| version | 0.1.0 |
| created_at | 2025-09-30 03:33:43.477082+00 |
| updated_at | 2025-09-30 03:33:43.477082+00 |
| description | A simple library for Bevy to write events in parallel. |
| homepage | |
| repository | https://github.com/Totobird-Creations/bevy_pareventwriter |
| max_upload_size | |
| id | 1860530 |
| size | 24,069 |
bevy_pareventwriterA simple library for Bevy to write events in parallel.
Bevy has the EventWriter<T>
system parameter. However, if you are parallel iterating through something such as a query
(Query::par_iter),
EventWriters are unusable.
ParallelEventWriter keeps
thread-local event queues, which are merged and sent after the system finishes.
Here is a crude example of where this might be useful.
fn parallel_event_system(
mut query : Query<(Entity, &Velocity)>,
par_writer : ParallelEventWriter<Supersonic>
) {
query.par_iter().for_each(|(entity, velocity)| {
if velocity.magnitude() > 343.2 {
par_writer.write(Supersonic { entity });
}
});
}
ParallelEventWriter can be used to write events from inside of the parallel iteration.