2024-11-22 22:26:20 +01:00
|
|
|
#![allow(unused)]
|
2024-11-22 20:56:29 +01:00
|
|
|
use bevy::prelude::*;
|
|
|
|
use bevy_rapier2d::prelude::*;
|
2024-11-23 01:40:50 +01:00
|
|
|
use game::game_plugin;
|
2024-11-22 20:56:29 +01:00
|
|
|
|
2024-11-22 22:14:13 +01:00
|
|
|
mod game;
|
2024-11-22 20:56:29 +01:00
|
|
|
|
|
|
|
const METER: f32 = 120.;
|
|
|
|
|
2024-11-22 22:00:17 +01:00
|
|
|
#[derive(States, Debug, Clone, PartialEq, Eq, Hash, Default)]
|
2024-11-22 21:47:19 +01:00
|
|
|
enum AppState {
|
2024-11-22 22:00:17 +01:00
|
|
|
#[default]
|
2024-11-22 21:47:19 +01:00
|
|
|
MainMenu,
|
|
|
|
InGame,
|
|
|
|
GameOver,
|
|
|
|
}
|
|
|
|
|
2024-11-22 22:00:17 +01:00
|
|
|
#[derive(States, Debug, Clone, PartialEq, Eq, Hash, Default)]
|
2024-11-22 21:47:19 +01:00
|
|
|
enum PausedState {
|
|
|
|
Paused,
|
2024-11-22 22:00:17 +01:00
|
|
|
#[default]
|
2024-11-22 21:47:19 +01:00
|
|
|
Running,
|
|
|
|
}
|
|
|
|
|
2024-11-22 20:38:07 +01:00
|
|
|
fn main() {
|
2024-11-22 20:56:29 +01:00
|
|
|
App::new()
|
|
|
|
.add_plugins(DefaultPlugins)
|
|
|
|
.add_plugins(RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(METER))
|
2024-11-23 01:40:50 +01:00
|
|
|
.add_plugins(game_plugin)
|
2024-11-22 22:00:17 +01:00
|
|
|
.init_state::<AppState>()
|
|
|
|
.init_state::<PausedState>()
|
2024-11-23 01:40:50 +01:00
|
|
|
.insert_state(AppState::InGame) // TODO dont
|
2024-11-22 20:56:29 +01:00
|
|
|
.run();
|
2024-11-22 20:38:07 +01:00
|
|
|
}
|