Crate bevy_write_after

Crate bevy_write_after 

Source
Expand description

Bevy plugin to send messages after delay.

use bevy::prelude::*;
use bevy_write_after::{MessagePool, WriteAfterPlugin};

#[derive(Message)]
struct MyMessage;

fn my_main() {
    App::new()
        .add_message::<MyMessage>()
        .add_plugins(WriteAfterPlugin)
        .add_systems(Startup, setup)
        .add_systems(Startup, some_system)
        .add_systems(Update, on_my_message.run_if(on_message::<MyMessage>));
}

fn setup(mut commands: Commands) {
    commands.spawn(MessagePool::default());
}

fn some_system(mut pool: Single<&mut MessagePool>) {
    pool.write_after(MyMessage, 1.0);
}

fn on_my_message() {
    println!("received my message");
}

Structsยง

MessagePool
WriteAfterPlugin