diff --git a/Cargo.toml b/Cargo.toml index 6276592..c371b47 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,6 @@ release = [ # Only in release (build with --release --no-default-features --feat "bevy_embedded_assets", "common", "tts", - "touch", ] common = ["input", "menu", "persist", "ui"] @@ -36,7 +35,6 @@ navigation = ["bevy-alt-ui-navigation-lite"] persist = ["bevy-persistent"] pixel_perfect = [] resizable = [] -touch = ["input"] trace = ["release", "bevy/trace_tracy"] ui = ["sickle_ui"] diff --git a/examples/jump.rs b/examples/jump.rs index 0640087..0a28ddf 100644 --- a/examples/jump.rs +++ b/examples/jump.rs @@ -60,8 +60,7 @@ impl Plugin for SampleGamePlugin { ) .run_if(in_state(GameState::Play)), ) - .add_systems(OnEnter(GameState::End), restart_game) - .register_type::(); + .add_systems(OnEnter(GameState::End), restart_game); } } @@ -78,7 +77,7 @@ struct PlatformInfo { // Components // ·········· -#[derive(Reflect, Component, Default)] +#[derive(Component, Default)] struct Player { velocity: Vec2, remainder: Vec2, @@ -168,13 +167,9 @@ fn update_player( mut player: Query<(&mut Player, &mut Transform)>, platforms: Query<(&Sprite, &Transform), (With, Without)>, ) { - let Ok((mut player, mut trans)) = player.get_single_mut() else { - return; - }; + let Ok((mut player, mut trans)) = player.get_single_mut() else { return }; - let Ok(input) = input.get_single() else { - return; - }; + let Ok(input) = input.get_single() else { return }; let mut pos = trans.translation.xy(); pos += player.remainder; @@ -270,9 +265,7 @@ fn update_camera( mut cam: Query<(&mut Transform, &mut CameraFollow)>, player: Query<&Player>, ) { - let Ok(player) = player.get_single() else { - return; - }; + let Ok(player) = player.get_single() else { return }; for (mut trans, mut follow) in cam.iter_mut() { let vel = (CAMERA_VEL * follow.target_pos / LEVEL_SIZE.y).powf(0.8); @@ -289,12 +282,8 @@ fn update_camera( } fn update_counter(mut counter: Query<(&mut Counter, &mut Text)>, player: Query<&Player>) { - let Ok((mut counter, mut text)) = counter.get_single_mut() else { - return; - }; - let Ok(player) = player.get_single() else { - return; - }; + let Ok((mut counter, mut text)) = counter.get_single_mut() else { return }; + let Ok(player) = player.get_single() else { return }; counter.0 = (player.max_height as u32 / SPACE_BETWEEN_PLATFORMS).saturating_sub(1); text.sections[0].value = counter.0.to_string(); @@ -306,9 +295,7 @@ fn spawn_platforms( mut info: ResMut, player: Query<&Player>, ) { - let Ok(player) = player.get_single() else { - return; - }; + let Ok(player) = player.get_single() else { return }; while info.last_platform * SPACE_BETWEEN_PLATFORMS < (player.max_height + LEVEL_SIZE.y * 0.5) as u32 @@ -340,9 +327,7 @@ fn check_game_over( player: Query<&Transform, With>, cam: Query<&CameraFollow, With>, ) { - let Ok(player) = player.get_single() else { - return; - }; + let Ok(player) = player.get_single() else { return }; let Ok(cam) = cam.get_single() else { return }; if player.translation.y < cam.target_pos - LEVEL_SIZE.y * 0.5 { @@ -358,9 +343,7 @@ fn restart_game( mut follow: Query<&mut CameraFollow>, platforms: Query, Without)>, ) { - let Ok((mut player, mut trans)) = player.get_single_mut() else { - return; - }; + let Ok((mut player, mut trans)) = player.get_single_mut() else { return }; player.max_height = 0.; trans.translation.y = -32.; diff --git a/src/assets.rs b/src/assets.rs index 7992218..32f2e47 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -121,19 +121,20 @@ impl LoadingData { fn current(&mut self, asset_server: &AssetServer) -> (usize, usize) { // Find assets that have already been loaded and remove them from the list self.assets.retain(|asset| { - if let Some(state) = asset_server.get_load_states(asset) { - if let bevy::asset::RecursiveDependencyLoadState::Loaded = state.2 { - self.loaded += 1; - debug!( - "\"{:?}\" loaded! ({}/{})", - asset.path(), - self.loaded, - self.total - ); - return false; - } - } - true + let Some(state) = asset_server.get_load_states(asset) else { return true }; + + let bevy::asset::RecursiveDependencyLoadState::Loaded = state.2 else { + return true; + }; + + self.loaded += 1; + debug!( + "\"{:?}\" loaded! ({}/{})", + asset.path(), + self.loaded, + self.total + ); + false }); (self.loaded, self.total) diff --git a/src/ui.rs b/src/ui.rs index dc325ab..e6a900b 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -53,9 +53,7 @@ struct UiRootContainer; /// Create a new input manager if there are no others fn init(mut cmd: Commands, camera: Query>) { - let Ok(camera) = camera.get_single() else { - return; - }; + let Ok(camera) = camera.get_single() else { return }; // Ui Root cmd.ui_builder(UiRoot).container( diff --git a/src/ui/menu.rs b/src/ui/menu.rs index 64e1b04..ca472c8 100644 --- a/src/ui/menu.rs +++ b/src/ui/menu.rs @@ -47,7 +47,7 @@ impl Plugin for MenuPlugin { /// Menu state /// Useful for navigating submenus -#[derive(SubStates, Debug, Default, Clone, Eq, PartialEq, Hash, Reflect)] +#[derive(SubStates, Debug, Default, Clone, Eq, PartialEq, Hash)] #[source(GameState = GameState::Menu)] pub(super) enum MenuState { /// Main menu screen, allows to play or exit the game and access further @@ -118,9 +118,7 @@ fn handle_buttons( request: NavRequest::Action, } => { // If the action matches one of our buttons - let Ok(buttons) = buttons.get(*from.first()) else { - continue; - }; + let Ok(buttons) = buttons.get(*from.first()) else { continue }; // Do something based on the button type match buttons { diff --git a/src/ui/menu/main.rs b/src/ui/menu/main.rs index 6558aa0..6224b84 100644 --- a/src/ui/menu/main.rs +++ b/src/ui/menu/main.rs @@ -28,9 +28,7 @@ pub(super) fn open( assets: Res, options: Res>, ) { - let Ok(root) = root.get_single() else { - return; - }; + let Ok(root) = root.get_single() else { return }; cmd.ui_builder(root) .column(|column| { diff --git a/src/ui/menu/mappings.rs b/src/ui/menu/mappings.rs index 997bc4f..85848bd 100644 --- a/src/ui/menu/mappings.rs +++ b/src/ui/menu/mappings.rs @@ -34,9 +34,7 @@ pub(super) fn open( assets: Res, options: Res>, ) { - let Ok(root) = root.get_single() else { - return; - }; + let Ok(root) = root.get_single() else { return }; cmd.ui_builder(root) .column(|column| { @@ -49,9 +47,7 @@ pub(super) fn open( column.title("Mappings".into(), assets.font.clone()); - let Ok(input_map) = input_map.get_single() else { - return; - }; + let Ok(input_map) = input_map.get_single() else { return }; for (action, maps) in input_map .iter() diff --git a/src/ui/navigation.rs b/src/ui/navigation.rs index b599e20..60d8dfb 100644 --- a/src/ui/navigation.rs +++ b/src/ui/navigation.rs @@ -132,18 +132,14 @@ fn update_focus( }; if fill.contains(entity) { - let Ok(mut color) = background.get_mut(entity) else { - continue; - }; + let Ok(mut color) = background.get_mut(entity) else { continue }; *color = match focus.state() { FocusState::Focused => BUTTON_COLOR, _ => Srgba::NONE.into(), } .into(); } else { - let Ok(mut color) = border.get_mut(entity) else { - continue; - }; + let Ok(mut color) = border.get_mut(entity) else { continue }; *color = match focus.state() { FocusState::Focused => BUTTON_COLOR.lighter(0.3), FocusState::Blocked => BUTTON_COLOR.darker(0.3), @@ -164,9 +160,7 @@ fn handle_input( focusables: Query<(Entity, &Node, &GlobalTransform), With>, mut nav_request_writer: EventWriter, ) { - let Ok(input) = input.get_single() else { - return; - }; + let Ok(input) = input.get_single() else { return }; // Either go back a level or go back to the game if input.just_pressed(&UiAction::Back) { @@ -225,14 +219,11 @@ fn on_mouse_move( focusables: Query<(Entity, &Node, &GlobalTransform), With>, mut nav_request_writer: EventWriter, ) { - let Ok(window) = window.get_single() else { - return; - }; + let Ok(window) = window.get_single() else { return }; if let Some(mouse) = window .cursor_position() .map(|cursor| Aabb2d::new(cursor, Vec2::ZERO)) { - warn!("{:?}", mouse); for (entity, node, trans) in focusables.iter() { let focused = focused.get_single().ok().unwrap_or(Entity::PLACEHOLDER); if entity == focused { diff --git a/src/ui/tts.rs b/src/ui/tts.rs index c7e9abb..1a51216 100644 --- a/src/ui/tts.rs +++ b/src/ui/tts.rs @@ -57,9 +57,7 @@ pub struct SpeechTag(pub String); /// Create a text to speech system and save it as a resource fn init(mut cmd: Commands) { - let Ok(mut tts) = Tts::default() else { - return; - }; + let Ok(mut tts) = Tts::default() else { return }; info!( "{} screen reader is available on this platform.", @@ -74,9 +72,8 @@ fn init(mut cmd: Commands) { if !voice { break 'v; } - let Ok(voices) = tts.voices() else { - break 'v; - }; + let Ok(voices) = tts.voices() else { break 'v }; + if let Some(voice) = voices .iter() .find(|&v| v.language().primary_language() == "en") @@ -107,9 +104,7 @@ fn navigation_speech( speech: Option>, mut nav_event_reader: EventReader, ) { - let Some(mut speech) = speech else { - return; - }; + let Some(mut speech) = speech else { return }; if !options.text_to_speech { return; } @@ -155,9 +150,7 @@ fn speak_focusable( speech: &mut Speech, interrupt: bool, ) -> bool { - let Ok((entity, _, children)) = query.get(current) else { - return false; - }; + let Ok((entity, _, children)) = query.get(current) else { return false }; let mut interrupt = interrupt; if let Ok(tag) = speech_tag.get(entity) {