use bevy::{app::ScheduleRunnerPlugin, log::LogPlugin, prelude::*};
use core::time::Duration;
fn main() {
if cfg!(feature = "bevy_window") {
println!("This example is running with the bevy_window feature enabled and will not run headless.");
println!("Disable the default features and rerun the example to run headless.");
println!("To do so, run:");
println!();
println!(" cargo run --example headless --no-default-features --features bevy_log");
return;
}
App::new()
.add_plugins(DefaultPlugins.set(ScheduleRunnerPlugin::run_once()))
.add_systems(Update, hello_world_system)
.run();
App::new()
.add_plugins(
DefaultPlugins
.set(ScheduleRunnerPlugin::run_loop(Duration::from_secs_f64(
1.0 / 60.0,
)))
.disable::<LogPlugin>(),
)
.add_systems(Update, counter)
.run();
}
fn hello_world_system() {
println!("hello world");
}
fn counter(mut state: Local<CounterState>) {
if state.count.is_multiple_of(60) {
println!("{}", state.count);
}
state.count += 1;
}
#[derive(Default)]
struct CounterState {
count: u32,
}