diff --git a/src/game/mod.rs b/src/game/mod.rs new file mode 100644 index 0000000..15ee7f6 --- /dev/null +++ b/src/game/mod.rs @@ -0,0 +1 @@ +pub mod objects; diff --git a/src/game/objects.rs b/src/game/objects.rs new file mode 100644 index 0000000..2ba8d60 --- /dev/null +++ b/src/game/objects.rs @@ -0,0 +1,18 @@ +use avian2d::prelude::*; +use bevy::prelude::*; + +#[derive(Component, Default)] +#[require(Collider, Mesh2d, MeshMaterial2d, Restitution = Restitution::new(1.0), RigidBody, TransformInterpolation, Transform)] +struct GameObject; + +#[derive(Component, Default)] +#[require(GameObject, RigidBody = RigidBody::Dynamic)] +pub struct Ball; + +#[derive(Component, Default)] +#[require(Ball)] +pub struct Player; + +#[derive(Component, Default)] +#[require(GameObject, RigidBody = RigidBody::Static)] +pub struct Wall; diff --git a/src/lib.rs b/src/lib.rs index 4912513..9bfbc7d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,9 +13,10 @@ use bevy_rand::prelude::{EntropyPlugin, GlobalEntropy, WyRand}; use rand::Rng; use wyrand::WyRand as LocalRng; -pub mod utils; - -use utils::AppSettings; +mod game; +use game::objects::{Ball, Player, Wall}; +mod utils; +pub use utils::AppSettings; const BALL_COUNT: u8 = 32; const BALL_SIZES: Range = 10.0..25.0; @@ -72,18 +73,6 @@ fn setup_ui(mut commands: Commands) { commands.spawn((Name::new("Camera"), Camera2d, IsDefaultUiCamera)); } -#[derive(Component, Default)] -#[require(Collider, Mesh2d, MeshMaterial2d, Restitution = Restitution::new(1.0), RigidBody, TransformInterpolation, Transform)] -struct GameObject; - -#[derive(Component, Default)] -#[require(GameObject, RigidBody = RigidBody::Dynamic)] -struct Ball; - -#[derive(Component, Default)] -#[require(Ball)] -struct Player; - fn setup_player( mut commands: Commands, mut materials: ResMut>, @@ -126,10 +115,6 @@ fn setup_balls( } } -#[derive(Component, Default)] -#[require(GameObject, RigidBody = RigidBody::Static)] -struct Wall; - fn setup_walls( mut commands: Commands, mut materials: ResMut>, diff --git a/src/main.rs b/src/main.rs index 70b916a..372c5cb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use bevy::prelude::AppExit; use clap::Parser; -use distributed_physics_test::{run_app, utils::AppSettings}; +use distributed_physics_test::{AppSettings, run_app}; fn main() -> AppExit { run_app(AppSettings::parse())