bevy-tick-timers

Crates.iobevy-tick-timers
lib.rsbevy-tick-timers
version0.3.0
sourcesrc
created_at2021-01-29 22:39:10.887717
updated_at2022-05-02 23:59:17.121045
descriptionTick based timers for Bevy.
homepagehttps://github.com/maplant/bevy-tick-timers
repositoryhttps://github.com/maplant/bevy-tick-timers
max_upload_size
id348285
size23,096
Matthew Plant (maplant)

documentation

https://docs.rs/crate/bevy_tick_timers

README

Bevy-tick-timers

Provides a Bevy plugin for scheduling and managing tick based timers.

Tick based timers are timers that operate not on real time, but on the number of state updates that occur. Each state update constitutes a "tick".

For any timer that does not update outside a game session, a tick based timer is preferred. This makes games more consistent and replayable (which also means they are easier to debug).

Example:

use bevy::prelude::*;
use bevy_tick_timers::{TimerPlugin, Timers};

fn add_timer(
    mut timers: ResMut<Timers>,
) {
    // Timers are Bevy systems, and thus can be closures. 
    timers.after(5, (move || {
        println!("timer has gone off!");
    }).system());
}

fn main() {
    println!("starting up");
    App::build()
        .add_plugins(DefaultPlugins)
        .add_plugin(TimerPlugin)
        .add_startup_system(add_timer.system())
        .run();
}
Commit count: 18

cargo fmt