2024-11-22 20:56:29 +01:00
|
|
|
use bevy::prelude::*;
|
|
|
|
use bevy_rapier2d::prelude::*;
|
|
|
|
|
2024-11-22 21:47:19 +01:00
|
|
|
mod game {
|
|
|
|
use bevy::prelude::*;
|
|
|
|
use bevy_rapier2d::prelude::*;
|
2024-11-22 22:00:17 +01:00
|
|
|
use player::player_plugin;
|
2024-11-22 21:47:19 +01:00
|
|
|
|
|
|
|
mod player {
|
|
|
|
use bevy::prelude::*;
|
|
|
|
use bevy_rapier2d::prelude::*;
|
|
|
|
#[derive(Component)]
|
|
|
|
struct Player;
|
2024-11-22 22:00:17 +01:00
|
|
|
|
|
|
|
pub(super) fn player_plugin(app: &mut App) {}
|
2024-11-22 21:47:19 +01:00
|
|
|
}
|
|
|
|
|
2024-11-22 22:00:17 +01:00
|
|
|
fn game_plugin(app: &mut App) {
|
|
|
|
app.add_plugins((player_plugin));
|
|
|
|
}
|
2024-11-22 21:47:19 +01:00
|
|
|
}
|
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-22 22:00:17 +01:00
|
|
|
.init_state::<AppState>()
|
|
|
|
.init_state::<PausedState>()
|
2024-11-22 20:56:29 +01:00
|
|
|
.run();
|
2024-11-22 20:38:07 +01:00
|
|
|
}
|