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§
- Skip
Time Runner - Skip a
TimeRunner. - Time
Runner - Advanced timer
- Time
Runner Elasped - Contains the current elasped time per tick. Have more informations useful for handling edge cases and retain timing accuracy.
- Time
Runner Ended - Fired when a time runner repeated or completed
- Time
Runner Plugin bevy_app - Add
time_runner_systemRegistersTimeRunner - Time
Span - Define the range of time
- Time
Span Progress TimeSpanProgressis automatically managed by its runner.
Enums§
- NewTime
Span Error - Error type for when creating a new
TimeSpan. - Repeat
- Timer repeat configuration
- Repeat
Style - Time runner repeat behavior
- Time
Bound - Bounding enum for
Durationto be exclusivively checked or inclusivively checked. - Time
Direction - Time direciton
- Time
Runner Set - System set in this crate
Functions§
- tick_
time_ runner_ system - Tick time runner then send
TimeRunnerEndedevent if qualified for. - time_
runner_ system - System for updating any
TimeSpanwith the correctTimeSpanProgressby their runner