Skip to content

Allows you to write sequential description of processes involving delays, user input, and other waits.

License

Apache-2.0, MIT licenses found

Licenses found

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

not-elm/bevy_flurx

Repository files navigation

bevy_flurx

Crates.io MIT/Apache 2.0 Crates.io

This library provides a mechanism for more sequential description of delays, character movement, waiting for user input, and other state waits.

As an example, here is an example of a cut-in effect that involves waiting for user input, a slight delay, and a sprite to move.

cut_in

The full source code can be found here.

fn spawn_reactor(
    mut commands: Commands
) {
    commands.spawn(Reactor::schedule(|task| async move {
        task.will(Update, {
            wait::input::just_pressed().with(KeyCode::KeyR)
                .then(once::switch::on::<CutInBackground>())
                .then(delay::time().with(Duration::from_millis(100)))
                .then(once::switch::on::<HandsomeFerris>())
                .then(wait::both(
                    wait::switch::off::<CutInBackground>(),
                    wait::switch::off::<HandsomeFerris>(),
                ))
                .then(once::switch::on::<MoveSlowly>())
                .then(delay::time().with(Duration::from_millis(500)))
                .then(once::switch::off::<MoveSlowly>())
                .then(once::switch::on::<MoveFast>())
                .then(delay::time().with(Duration::from_millis(300)))
                .then(once::event::app_exit())
        })
            .await;
    }));
}

Example

All examples are here.

Feature flags

flag name short description default
audio audio actions true
record undo/redo actions and events true
effect thread/async side effects true
tokio async-compat and async actions false

audio

Provides the actions that perform simple audio playback and waiting using bevy's default audio functionality.

  • once::audio
  • wait::audio

record

Provides Record to manage operation history.

undo_redo

effect

Allows to convert the operations with side effects such as asynchronous runtime or thread into the referential-transparent actions.

tokio

You will be able to write processes that depend on tokio's runtime in the reactor.

ChangeLog

Please see here.

Compatible Bevy versions

bevy_flurx bevy
0.3.0 0.13.0
0.3.1 0.13.1
0.3.2 ~ 0.5.3 0.13.2
0.6.0 0.4.1

License

This crate is licensed under the MIT License or the Apache License 2.0.

About

Allows you to write sequential description of processes involving delays, user input, and other waits.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages