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_system
RegistersTimeRunner
- Time
Span - Define the range of time
- Time
Span Progress TimeSpanProgress
is 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
Duration
to 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
TimeRunnerEnded
event if qualified for. - time_
runner_ system - System for updating any
TimeSpan
with the correctTimeSpanProgress
by their runner