diff --git a/crates/bevy_transform/src/hierarchy/hierarchy_maintenance_system.rs b/crates/bevy_transform/src/hierarchy/hierarchy_maintenance_system.rs index 4ca736222e77e..e79ba91421652 100644 --- a/crates/bevy_transform/src/hierarchy/hierarchy_maintenance_system.rs +++ b/crates/bevy_transform/src/hierarchy/hierarchy_maintenance_system.rs @@ -1,13 +1,15 @@ use crate::components::*; -use bevy_ecs::{Commands, Entity, IntoSystem, Query, System, Without}; +use bevy_ecs::{Changed, Commands, Entity, IntoSystem, Query, System, Without}; use bevy_utils::HashMap; use smallvec::SmallVec; pub fn parent_update_system( commands: &mut Commands, removed_parent_query: Query<(Entity, &PreviousParent), Without>, - // TODO: ideally this only runs when the Parent component has changed - mut changed_parent_query: Query<(Entity, &Parent, Option<&mut PreviousParent>)>, + mut changed_parent_query: Query< + (Entity, &Parent, Option<&mut PreviousParent>), + Changed, + >, mut children_query: Query<&mut Children>, ) { // Entities with a missing `Parent` (ie. ones that have a `PreviousParent`), remove diff --git a/crates/bevy_ui/src/update.rs b/crates/bevy_ui/src/update.rs index 775829298ba83..103fcb168ae9a 100644 --- a/crates/bevy_ui/src/update.rs +++ b/crates/bevy_ui/src/update.rs @@ -9,7 +9,7 @@ pub const UI_Z_STEP: f32 = 0.001; pub fn ui_z_system( root_node_query: Query, Without)>, - mut node_query: Query<(Entity, &Node, &mut Transform)>, + mut node_query: Query<(Entity, &mut Transform), With>, children_query: Query<&Children>, ) { let mut current_global_z = 0.0; @@ -29,7 +29,7 @@ pub fn ui_z_system( } fn update_node_entity( - node_query: &mut Query<(Entity, &Node, &mut Transform)>, + node_query: &mut Query<(Entity, &mut Transform), With>, entity: Entity, parent_result: Option, previous_result: Option, diff --git a/crates/bevy_ui/src/widget/image.rs b/crates/bevy_ui/src/widget/image.rs index 242880fc4a856..81b2961aa4736 100644 --- a/crates/bevy_ui/src/widget/image.rs +++ b/crates/bevy_ui/src/widget/image.rs @@ -1,6 +1,6 @@ use crate::CalculatedSize; use bevy_asset::{Assets, Handle}; -use bevy_ecs::{Query, Res}; +use bevy_ecs::{Query, Res, With}; use bevy_math::Size; use bevy_render::texture::Texture; use bevy_sprite::ColorMaterial; @@ -19,9 +19,9 @@ impl Default for Image { pub fn image_node_system( materials: Res>, textures: Res>, - mut query: Query<(&Image, &mut CalculatedSize, &Handle)>, + mut query: Query<(&mut CalculatedSize, &Handle), With>, ) { - for (_image, mut calculated_size, material_handle) in query.iter_mut() { + for (mut calculated_size, material_handle) in query.iter_mut() { if let Some(texture) = materials .get(material_handle) .and_then(|material| material.texture.as_ref()) diff --git a/examples/2d/contributors.rs b/examples/2d/contributors.rs index 8d6a1f23204c8..c11322a2942dd 100644 --- a/examples/2d/contributors.rs +++ b/examples/2d/contributors.rs @@ -131,12 +131,12 @@ fn setup( fn select_system( mut materials: ResMut>, mut sel: ResMut, - mut dq: Query<(&ContributorDisplay, Mut)>, - mut tq: Query<(&SelectTimer, Mut)>, + mut dq: Query, With>, + mut tq: Query, With>, mut q: Query<(&Contributor, &Handle, &mut Transform)>, ) { let mut timer_fired = false; - for (_, mut t) in tq.iter_mut() { + for mut t in tq.iter_mut() { if !t.just_finished { continue; } @@ -166,7 +166,7 @@ fn select_system( let (name, e) = &sel.order[sel.idx]; if let Ok((c, handle, mut tr)) = q.get_mut(*e) { - for (_, mut text) in dq.iter_mut() { + for mut text in dq.iter_mut() { select( &mut *materials, handle.clone(), @@ -231,7 +231,7 @@ fn velocity_system(time: Res