#事件 #bevy #并发 #插件 #并发地 #下一个 #

bin+lib bevy_concurrent_event

一个简单的并发事件插件,其原理类似于 Commands,事件可以并发发送/读取,但事件的读取始终在下一个 bevy 帧中

1 个不稳定版本

0.1.0 2024年3月5日

#2033游戏开发

MIT 许可证

11KB
134

"一个简单的并发事件插件,其原理类似于 Commands,事件可以并发发送/读取,但事件的读取始终在下一个 bevy 帧中"

#[derive(Event)] struct E;

fn main() { App::new().add_event_manager::() .... ; } fn send(mut sender:EventsSender){ sender.send(e); ... } fn read(sender:EventsReader){ sender.par_iter()...//iter() }

use bevy::{ app::{App, Update}, ecs::event::Event, }; use bevy_concurrent_event::events::{ ConcurrentEvent, EventsReader, EventsSender, }; use rayon::iter::ParallelIterator;

#[derive(Event)] struct E;

pub fn main() { App::new().add_event_manager::().add_systems( Update, ( |mut s: EventsSender| s.send(E), |r: EventsReader| r.par_read().for_each(|_| {}), ), ); }

依赖项

~19–47MB
~742K SLoC