use bevy::prelude::*; use bevy_rapier2d::prelude::*; mod game { use bevy::prelude::*; use bevy_rapier2d::prelude::*; use player::player_plugin; mod player { use bevy::prelude::*; use bevy_rapier2d::prelude::*; #[derive(Component)] struct Player; pub(super) fn player_plugin(app: &mut App) {} } fn game_plugin(app: &mut App) { app.add_plugins((player_plugin)); } } const METER: f32 = 120.; #[derive(States, Debug, Clone, PartialEq, Eq, Hash, Default)] enum AppState { #[default] MainMenu, InGame, GameOver, } #[derive(States, Debug, Clone, PartialEq, Eq, Hash, Default)] enum PausedState { Paused, #[default] Running, } fn main() { App::new() .add_plugins(DefaultPlugins) .add_plugins(RapierPhysicsPlugin::::pixels_per_meter(METER)) .init_state::() .init_state::() .run(); }