Skip to content

Leafwing-Studios/bevy_background_compute

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bevy background compute

This bevy plugin provides improvements to handling of background tasks. It adds a Commands extension to more easily place a Future onto bevy's TaskPool and upon completion it will send a callback in the form of an event containing the result.

Full usage example

Check out the basic_usage example with

cargo run --example basic_usage

Registering a type as background computable

In order to keep track of running tasks and to produce completion events every type returned by your Futures has to be registered using the BackgroundComputePlugin<T>.

app.add_plugin(BackgroundComputePlugin::<MyType>::default())

Computing a Future in background

commands.compute_in_background(async {
    // Your code here
});

Getting the result

// Create a system consuming BackgroundComputeComplete<T> events
fn my_callback_sys(
    mut events: EventReader<BackgroundComputeComplete<MyResult>>
) {
    // Handle like any other bevy event
}

Version compatibility

Plugin Bevy
0.1 0.8
0.2 0.9

About

Bevy plugin for better task handling

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%