diff --git a/README.md b/README.md index b53f02d..bcce2c6 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,7 @@ * (?) multiplayer * more audio * "jumpable" component to avoid jumping on sensors -* bug: in level2, move the blue character to win, then reset. The characters are lighter than expected. (also level 4) -* redshift warning -* itchio test +* bug: in level2, move the blue character to win, then reset. The characters are lighter than expected. ## Build diff --git a/src/game.rs b/src/game.rs index c98f48e..2463d05 100644 --- a/src/game.rs +++ b/src/game.rs @@ -52,8 +52,7 @@ impl Plugin for GamePlugin { .with_system(player_movement_system) .with_system(level_keyboard_system) .with_system(move_camera) - .with_system(character_particle_effect_system) - .with_system(move_win_text_system), + .with_system(character_particle_effect_system), ) .add_system_to_stage(CoreStage::PostUpdate, collision_event_system); } @@ -102,9 +101,6 @@ pub struct CollisionCount(usize); #[derive(Component)] pub struct Melty(pub Color); -#[derive(Component)] -pub struct WinText; - // Systems fn setup( @@ -290,7 +286,8 @@ fn collision_event_system( .clamp(Vec4::ZERO, Vec4::ONE); // If color approximately white - if app_state.current() == &AppState::Game && new_color.min_element() >= 0.9 + if app_state.current() == &AppState::Game + && Vec4::from(new_color).min_element() >= 0.9 { app_state.replace(AppState::Win).ok(); } @@ -494,8 +491,7 @@ fn win_setup( transform: Transform::from_xyz(0., 0., 3.), ..default() }) - .insert(Level) - .insert(WinText); + .insert(Level); commands .spawn_bundle(Text2dBundle { text: Text::from_section( @@ -510,8 +506,7 @@ fn win_setup( transform: Transform::from_xyz(0., 0., 4.), ..Default::default() }) - .insert(Level) - .insert(WinText); + .insert(Level); } fn move_camera( @@ -540,17 +535,6 @@ fn move_camera( } } -fn move_win_text_system( - camera_query: Query<&Transform, With>, - mut win_text_query: Query<&mut Transform, (With, Without)>, -) { - let camera_pos = camera_query.single(); - for mut pos in win_text_query.iter_mut() { - pos.translation.x = camera_pos.translation.x; - pos.translation.y = camera_pos.translation.y; - } -} - fn level_keyboard_system( mut commands: Commands, mut current_level: ResMut, diff --git a/src/menu.rs b/src/menu.rs index f35f024..fff9778 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -20,22 +20,6 @@ impl Plugin for MenuPlugin { fn setup(mut commands: Commands, asset_server: Res) { let font = asset_server.get_handle("UacariLegacy-Thin.ttf"); - #[cfg(target_arch = "wasm32")] - commands - .spawn_bundle(Text2dBundle { - text: Text::from_section( - "Note:\nAudio is NOT available in the WASM build.", - TextStyle { - font: font.clone(), - font_size: 24.0, - color: Color::rgba(1., 0.4, 0.4, 1.), - }, - ) - .with_alignment(TextAlignment::CENTER), - transform: Transform::from_xyz(0., -128.0, 0.), - ..Default::default() - }) - .insert(Menu); commands .spawn_bundle(Text2dBundle { text: Text::from_section( diff --git a/src/particle_effect.rs b/src/particle_effect.rs index 26e275a..b711548 100644 --- a/src/particle_effect.rs +++ b/src/particle_effect.rs @@ -1,5 +1,5 @@ use bevy::{prelude::*, sprite::Mesh2dHandle}; -use rand::{rngs::ThreadRng, Rng}; +use rand::Rng; use rand_distr::{Distribution, UnitCircle}; #[cfg(not(target_arch = "wasm32"))] @@ -68,20 +68,15 @@ pub struct ParticleComponent { } impl ParticleComponent { - pub fn new(rng: &mut ThreadRng) -> Self { + pub fn new() -> Self { let mut particle_component: Self = Self::default(); - particle_component.randomize_velocity(rng, MIN_VELOCITY, MAX_VELOCITY); + particle_component.randomize_velocity(MIN_VELOCITY, MAX_VELOCITY); particle_component } - pub fn randomize_velocity( - &mut self, - rng: &mut ThreadRng, - min_velocity: f32, - max_velocity: f32, - ) { - let random_direction: [f32; 2] = UnitCircle.sample(rng); - let random_magnitude: f32 = rng.gen_range(min_velocity..max_velocity); + pub fn randomize_velocity(&mut self, min_velocity: f32, max_velocity: f32) { + let random_direction: [f32; 2] = UnitCircle.sample(&mut rand::thread_rng()); + let random_magnitude: f32 = rand::thread_rng().gen_range(min_velocity..max_velocity); self.velocity = Vec3::new(random_direction[0], random_direction[1], 0.0) * random_magnitude; } } @@ -92,8 +87,6 @@ fn particle_effect_startup( particle_mesh: Res, mut materials: ResMut>, ) { - let mut rng = rand::thread_rng(); - for _p in 0..POOL_COUNT { let color_mesh = ColorMesh2dBundle { mesh: particle_mesh.square.clone(), @@ -103,7 +96,7 @@ fn particle_effect_startup( commands .spawn_bundle(color_mesh) - .insert(ParticleComponent::new(&mut rng)); + .insert(ParticleComponent::new()); } } @@ -117,8 +110,6 @@ fn particle_effect_system( mut particle_effect: ResMut, time: Res