diff --git a/Cargo.toml b/Cargo.toml index 91c777b..f0c9072 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ edition = "2021" [dependencies] bevy = "0.8.0" +# bevy_hanabi = "0.3.1" bevy-inspector-egui = "0.12.1" bevy_rapier2d = "0.16.2" cpal = "0.14.0" diff --git a/README.md b/README.md index 35639f5..fe29ac0 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ * level design * (?) can jump only from a surface (no mid-air jump) * (?) multiplayer +* make WASM build work again (replace hanabi) * level reset * more audio @@ -24,6 +25,8 @@ cargo build --release ### WASM +Currently `bevy_hanabi` does not compile for WASM, and audio does not work on WASM. + ```bash rustup target add wasm32-unknown-unknown cargo install wasm-bindgen-cli diff --git a/src/game.rs b/src/game.rs index 1b6ef95..80cec76 100644 --- a/src/game.rs +++ b/src/game.rs @@ -32,14 +32,13 @@ impl Plugin for GamePlugin { SystemSet::on_update(AppState::Game) .with_system(crate::levels::post_setup_level) .with_system(keyboard_input_system) - .with_system(move_camera) - .with_system(character_particle_effect_system), + .with_system(character_particle_effect_system) + .with_system(move_camera), ) .add_system_set( SystemSet::on_update(AppState::Win) .with_system(keyboard_input_system) - .with_system(move_camera) - .with_system(character_particle_effect_system), + .with_system(move_camera), ) .add_system_to_stage(CoreStage::PostUpdate, collision_event_system); } @@ -220,6 +219,7 @@ fn keyboard_input_system( if let Ok((mut selected_character_id, character_id_list)) = level_query.get_single_mut() { if keyboard_input.just_pressed(KeyCode::Tab) { let selected = if let Some(selected_character_id) = &mut selected_character_id.0 { + *selected_character_id = *character_id_list .0 .range(*selected_character_id..) @@ -249,8 +249,9 @@ fn keyboard_input_system( if let Some(selected_character_id) = &selected_character_id.0 { if let Some((_character_id, mut velocity, _color)) = characters .iter_mut() - .find(|(character_id, _velocity, _color)| *character_id == selected_character_id) - { + .find(|(character_id, _velocity, _color)| { + *character_id == selected_character_id + }) { velocity.linvel.x = 200. * (right_pressed as i8 - left_pressed as i8) as f32; if keyboard_input.just_pressed(KeyCode::Space) { @@ -268,15 +269,16 @@ fn keyboard_input_system( fn character_particle_effect_system( mut characters: Query<(&CharacterId, &Transform, &CharacterColor)>, - mut particle_effect: ResMut, + mut particle_effect: ResMut, mut level_query: Query<&SelectedCharacterId>, ) { if let Ok(selected_character_id) = level_query.get_single_mut() { if let Some(selected_character_id) = &selected_character_id.0 { if let Some((_character_id, transform, color)) = characters .iter_mut() - .find(|(character_id, _transform, _color)| *character_id == selected_character_id) - { + .find(|(character_id, _transform, _color)| { + *character_id == selected_character_id + }) { particle_effect.translation = transform.translation; particle_effect.color = color.0; } @@ -306,6 +308,7 @@ fn move_camera( mut camera_query: Query<(&Camera, &mut Transform, &GlobalTransform)>, characters: Query<(&CharacterId, &Transform), Without>, level_query: Query<&SelectedCharacterId>, + time: Res