58 lines
1.8 KiB
Rust
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();
|
|
}
|