7个版本 (破坏性更新)
0.6.0 | 2022年11月16日 |
---|---|
0.5.0 | 2022年8月1日 |
0.4.0 | 2022年5月26日 |
0.3.0 | 2022年5月13日 |
0.1.1 | 2022年3月7日 |
#2298 in 游戏开发
22 每月下载量
17KB
命令发送事件
一个扩展特质,允许您在无需检索类型化的事件写入器系统参数的情况下从系统中发送事件。
- 版本0.9支持Bevy 0.9
- 版本0.5支持Bevy 0.8
- 版本0.3 & 0.4支持Bevy 0.7
- 版本<0.3支持Bevy 0.6
限制
- 事件不会立即分发,而是在将队列命令应用到World的下一个阶段边界时分发。
用法
使用以下命令将库添加到您的项目中
cargo add commands_send_event
或直接在Cargo.toml中添加依赖项
[dependencies.commands_send_event]
version = "0.6"
然后send_event
方法将可用于Commands
use commands_send_event::CommandsSendEvent;
#[derive(Component)]
struct MyEventA(String);
#[derive(Component)]
struct MyEventB(i32);
fn sender(
mut commands: Commands
) {
commands.send_event(MyEventA("Hello, World"));
commands.send_event(MyEventB(42));
}
/examples
文件夹中有两个示例,您可以使用它们运行
cargo run --example basic_usage
cargo run --example schedule
AnyEventWriter是覆盖Commands并实现SystemParam的界面。
注意
由于使用World
发送事件现在非常容易,所以这个crate现在有点多余。您可以使用commands.add
将闭包排队以分发事件,如下所示
commands.add(|world: &mut World|
world.send_event(MyEvent)
);
依赖项
~16–33MB
~514K SLoC