Skip to content

Send Bevy Events generically through Commands

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE-APACHE
Notifications You must be signed in to change notification settings

ickshonpe/commands_send_event

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Commands Send Event

An extension trait for Commands that allows you to send events from a system without having to retrieve a typed EventWriter SystemParam.

  • version 0.9 supports Bevy 0.9
  • version 0.5 supports Bevy 0.8
  • version 0.3 & 0.4 support Bevy 0.7
  • versions <0.3 support Bevy 0.6

Limitations

  • Events won't be dispatched immediately, but at the next Stage boundary when the queued commands are applied to the World.

Usage

Add to your project with the command

cargo add commands_send_event

or add directly add the dependency to your Cargo.toml

[dependencies.commands_send_event]
version = "0.6"

then the send_event method is available on 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));
}

The /examples folder has two examples you can run with:

cargo run --example basic_usage
cargo run --example schedule

AnyEventWriter is a facade over Commands that implements SystemParam.

Note

This crate is a bit redundant now since Bevy 0.8 as sending events using World is very easy. With commands.add you can queue a closure to dispatch an event like so:

commands.add(|world: &mut World| 
    world.send_event(MyEvent)
);

About

Send Bevy Events generically through Commands

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE-APACHE

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages