4 Commits

Author SHA1 Message Date
172b528138 Mark v0.6.2 release: Removed debug noise
Some checks failed
Basic checks / Basic build-and-test supertask (push) Failing after 1m10s
I've removed a bit of the debug stuff from the program -- mainly the
egui-inspector UI, but also some debug prints that were still happening
in the physics module.
2025-12-22 10:41:52 -06:00
70de4bb67d Remove debug prints in physics.rs 2025-12-22 10:39:40 -06:00
ebee953955 Hide egui-inspector window behind feature flag
The World Inspector widget shouldn't be enabled by default. This hides
it behind the "debug_ui" feature flag, along with the bevy_rapier2d
debug drawings.

The bevy_rapier2d debug plugin is now added when in debug mode, which
was not previously the case.
2025-12-21 16:45:52 -06:00
d2cb75c3a1 Apply clippy fixes 2025-12-20 09:38:46 -06:00
7 changed files with 30 additions and 29 deletions

2
Cargo.lock generated
View File

@@ -242,7 +242,7 @@ dependencies = [
[[package]]
name = "asteroids"
version = "0.6.1"
version = "0.6.2"
dependencies = [
"bevy",
"bevy-inspector-egui",

View File

@@ -1,6 +1,6 @@
[package]
name = "asteroids"
version = "0.6.1"
version = "0.6.2"
edition = "2024"
license = "AGPL-3.0-only"

View File

@@ -217,7 +217,7 @@ fn input_ship_shoot(
physics::Velocity(bullet_vel),
Mesh2d(game_assets.bullet().0),
MeshMaterial2d(game_assets.bullet().1),
ship_pos.clone(), // clone ship transform
*ship_pos, // clone ship transform
Lifetime(Timer::from_seconds(BULLET_LIFETIME, TimerMode::Once)),
AudioPlayer::new(game_assets.laser_sound()),
PlaybackSettings::ONCE, // `Lifetime` already despawns the entity, so this doesn't need to

View File

@@ -1,11 +1,15 @@
use bevy::{prelude::*, window::WindowResolution};
use asteroids::{AsteroidPlugin, config::WINDOW_SIZE};
#[cfg(feature = "debug_ui")]
use bevy_inspector_egui::{bevy_egui::EguiPlugin, quick::WorldInspectorPlugin};
#[cfg(feature = "debug_ui")]
use bevy_rapier2d::render::RapierDebugRenderPlugin;
fn main() {
App::new()
.add_plugins(DefaultPlugins.set(WindowPlugin {
let mut app = App::new();
app.add_plugins(DefaultPlugins.set(WindowPlugin {
primary_window: Some(Window {
canvas: Some("#game-canvas".to_owned()),
resolution: WindowResolution::new(WINDOW_SIZE.0, WINDOW_SIZE.1),
@@ -13,8 +17,12 @@ fn main() {
}),
..default()
}))
.add_plugins(AsteroidPlugin)
.add_plugins(EguiPlugin::default())
.add_plugins(AsteroidPlugin);
#[cfg(feature = "debug_ui")]
app.add_plugins(EguiPlugin::default())
.add_plugins(WorldInspectorPlugin::new())
.run();
.add_plugins(RapierDebugRenderPlugin::default());
app.run();
}

View File

@@ -238,7 +238,7 @@ pub fn ship_impact_listener(
Sparkler::at_interval(0.15),
Mesh2d(game_assets.thruster_mesh()), // borrow the thruster mesh for now
MeshMaterial2d(game_assets.thruster_mat_active()), // ... and the active thruster material
player.0.clone(), // clone the player transform
*player.0, // clone the player transform
Velocity(vel),
));
}

View File

@@ -111,30 +111,22 @@ pub fn collision_listener(
if *one == *player {
if rocks.contains(*two) {
// player-asteroid collision
dbg!("Writing ShipDestroy event");
ship_writer.write(messages::ShipDestroy);
} // else, we don't care
} else if *two == *player {
if rocks.contains(*one) {
dbg!("Writing ShipDestroy event");
} else if *two == *player && rocks.contains(*one) {
ship_writer.write(messages::ShipDestroy);
}
}
// Option 2: Bullet & Asteroid
if bullets.contains(*one) {
if rocks.contains(*two) {
dbg!("Writing AsteroidDestroy & BulletDestroy events");
asteroid_writer.write(messages::AsteroidDestroy(*two));
bullet_writer.write(messages::BulletDestroy(*one));
}
} else if rocks.contains(*one) {
if bullets.contains(*two) {
dbg!("Writing AsteroidDestroy & BulletDestroy events");
} else if rocks.contains(*one) && bullets.contains(*two) {
asteroid_writer.write(messages::AsteroidDestroy(*one));
bullet_writer.write(messages::BulletDestroy(*two));
}
}
}
}
}

View File

@@ -8,7 +8,7 @@ use crate::{
};
use bevy::{
color::palettes::css::{BLACK, DARK_GRAY, GREEN, LIGHT_BLUE, RED, WHITE},
color::palettes::css::{BLACK, DARK_GRAY, GREEN, RED, WHITE},
prelude::*,
};
@@ -263,6 +263,7 @@ fn animate_get_ready_widget(
/// on the HUD, this system would quit the game. The same will happen for
/// returning to the title screen. This should be useful for making a pause
/// menu, too.
#[allow(clippy::type_complexity)]
fn operate_buttons(
mut interactions: Query<
(