diff --git a/.vscode/settings.json b/.vscode/settings.json index fe117a2..bc89a82 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,6 +10,7 @@ "despawn", "Despawns", "lerp", + "PRNG", "recip", "respawns", "timestep", diff --git a/src/game/objects.rs b/src/game/objects.rs index 2ba8d60..2fbe122 100644 --- a/src/game/objects.rs +++ b/src/game/objects.rs @@ -1,18 +1,22 @@ use avian2d::prelude::*; use bevy::prelude::*; +/// Basic implementation of a physics object #[derive(Component, Default)] #[require(Collider, Mesh2d, MeshMaterial2d, Restitution = Restitution::new(1.0), RigidBody, TransformInterpolation, Transform)] struct GameObject; +/// A basic ball with which to interact #[derive(Component, Default)] #[require(GameObject, RigidBody = RigidBody::Dynamic)] pub struct Ball; +/// The controllable ball #[derive(Component, Default)] #[require(Ball)] pub struct Player; +/// The static objects bounding the playable area #[derive(Component, Default)] #[require(GameObject, RigidBody = RigidBody::Static)] pub struct Wall; diff --git a/src/game/rng.rs b/src/game/rng.rs index a9c40ad..b80a739 100644 --- a/src/game/rng.rs +++ b/src/game/rng.rs @@ -1,7 +1,7 @@ use rand::random; use wyrand::WyRand; -/// Initialize a `WyRand` using `rand`'s thread-local rng +/// Initialize a `WyRand` using `rand`'s thread-local random number generator pub fn thread_rng() -> WyRand { WyRand::new(random()) } diff --git a/src/game/runtime.rs b/src/game/runtime.rs index a0ab185..664dc49 100644 --- a/src/game/runtime.rs +++ b/src/game/runtime.rs @@ -6,6 +6,7 @@ use bevy::{ use super::objects::Player; +/// Move the player character based on the keyboard input pub fn move_player( time: Res