Crate bevy_time_runner

source ·
Expand description

§bevy_time_runner

§TimeRunner

TimeRunner will expects you to create an entity containing the TimeRunner component and their children to contain the TimeSpan component like so:

use bevy::prelude::*;
use bevy_time_runner::{TimeRunner, TimeSpan};

fn secs(secs: u64) -> Duration {
    Duration::from_secs(secs)
}

commands
    .spawn(TimeRunner::new(secs(10)))
    .with_children(|c| {
        c.spawn(TimeSpan::try_from(secs(0)..secs(3)).unwrap());
        c.spawn(TimeSpan::try_from(secs(3)..secs(7)).unwrap());
        c.spawn(TimeSpan::try_from(secs(7)..secs(10)).unwrap());
    });

While the TimeRunner is running, for each child with the component TimeSpan, the component TimeSpanProgress will be inserted to each child with the appropriate values and removed if the runner is out of range of the span.

This creates a very flexible timing system that’s useful for variety of purposes.

Structs§

Enums§

Functions§