use std::f32::consts::TAU;
use rusty_engine::prelude::*;
fn main() {
let mut game = Game::new();
let _ = game.add_actor("Race Car", ActorPreset::RacingCarGreen);
game.game_state_mut()
.timer_map
.insert("change_state".into(), Timer::from_seconds(1.0, true));
game.game_state_mut()
.bool_map
.insert("turning".into(), false);
game.run(logic);
}
fn logic(game_state: &mut GameState) {
let race_car = game_state.actors.get_mut("Race Car").unwrap();
let turning = game_state.bool_map.get_mut("turning").unwrap();
let timer = game_state.timer_map.get_mut("change_state").unwrap();
if !*turning && timer.tick(game_state.delta).just_finished() {
*turning = true;
}
if *turning {
race_car.rotation += game_state.delta_seconds * 3.0;
if race_car.rotation > TAU {
race_car.rotation = 0.0;
*turning = false;
}
}
}