use bevy::prelude::*;
use bevy_cell::*;
fn main(){
let mut app = App::new();
app.add_plugins(MinimalPlugins);
app.add_systems(Update,(progress,print).chain());
app.run();
}
fn repeater(duration:f32) -> Timer {
Timer::from_seconds(duration,TimerMode::Repeating)
}
bycell!{
Timer: [:mut one_second {repeater(1.)}];
Camera: [Timer:mut five_seconds {repeater(5.)}];
}
fn progress (time:Res<Time>) {
Timer::one_second().tick(time.delta());
Camera::five_seconds().tick(time.delta());
}
fn print () {
if Camera::five_seconds().just_finished() {
println!("every 5 seconds");
}
else if Timer::one_second().just_finished() {
println!("every second");
}
}