Files
rust-otus/snake-game/src/main.rs
T

58 lines
1.8 KiB
Rust

use bevy::prelude::*;
use snake_game::{check_bounds_colisions, check_meal_collisions, check_tail_colisions, head_moving, head_rotation, setup_window, snake_moving, startup};
fn main() {
App::new()
.add_plugins(
DefaultPlugins
.build()
.set(bevy::log::LogPlugin {
level: tracing::Level::INFO,
filter: "wgpu_hal=warn,snake_game=trace".to_string(),
fmt_layer: |_| snake_game::define_log_layer(),
..Default::default()
})
.set(TaskPoolPlugin {
task_pool_options: TaskPoolOptions::with_num_threads(1),
}),
)
.insert_resource(ClearColor(Color::srgb(0.3, 0.6, 0.8)))
.add_systems(
Startup,
(
|| {}, //
setup_window,
startup,
snake_game::debug::set_initial_time_speed_to_slow_and_pause,
),
)
.add_systems(
PostStartup,
(
|| {},
// snake_game::debug::print_all_entities,
),
)
.add_systems(
Update,
(
|| {}, //
head_rotation,
snake_game::debug::grow_up_on_tab,
),
)
.add_systems(FixedUpdate, (head_moving, snake_moving))
.add_systems(
PostUpdate,
(
|| {}, //
check_bounds_colisions,
check_tail_colisions,
check_meal_collisions,
snake_game::debug::print_all_entities_by_press_enter,
snake_game::debug::time_speed,
),
)
.run();
}