From 9372c1ae56ae4f8db2ab7c757f6e85291dc6a52f Mon Sep 17 00:00:00 2001 From: Mikhail Mitrofanov Date: Mon, 29 Jun 2026 13:16:27 +0300 Subject: [PATCH] Moving to Single from Query --- src/plate_automation.rs | 8 +++----- src/seed_automation.rs | 19 +++++++------------ src/subplate_automation.rs | 15 ++++++--------- 3 files changed, 16 insertions(+), 26 deletions(-) diff --git a/src/plate_automation.rs b/src/plate_automation.rs index 176db6d..69b71bc 100644 --- a/src/plate_automation.rs +++ b/src/plate_automation.rs @@ -28,16 +28,14 @@ pub fn update_automation_view( } pub fn update_automation( - mut query: Query<(&mut PlateAutomation, Entity)>, + mut query: Single<(&mut PlateAutomation, Entity)>, mut seeded_rng: ResMut, keys: Res>, mut commands: Commands, ) { - if query.is_empty() { - return; - } - let (mut automation, entity) = query.iter_mut().next().unwrap(); + + let (mut automation, entity) = query.into_inner(); if keys.just_pressed(KeyCode::Space) || keys.all_pressed([KeyCode::Space, KeyCode::ShiftLeft]) { let random = &mut seeded_rng.0; diff --git a/src/seed_automation.rs b/src/seed_automation.rs index d880010..5b900fd 100644 --- a/src/seed_automation.rs +++ b/src/seed_automation.rs @@ -4,19 +4,17 @@ use crate::SeededRng; use bevy::asset::Assets; use bevy::image::Image; use bevy::input::ButtonInput; -use bevy::prelude::{Commands, Component, Entity, KeyCode, Query, Res, ResMut, Sprite}; +use bevy::prelude::{Commands, Component, Entity, KeyCode, Query, Res, ResMut, Single, Sprite}; use rand::RngExt; use rand_chacha::ChaCha8Rng; pub fn update_automation_view( - query: Query<(&Sprite, &SeedAutomation)>, + query: Single<(&Sprite, &SeedAutomation)>, mut images: ResMut>, ) { - if query.is_empty() { - return; - } - let (sprite, automation) = query.iter().next().unwrap(); + + let (sprite, automation) = query.into_inner(); let image = automation.world.get_image_data(); @@ -25,16 +23,13 @@ pub fn update_automation_view( } pub fn update_automation( - mut query: Query<(&mut SeedAutomation, Entity)>, + mut query: Single<(&mut SeedAutomation, Entity)>, mut seeded_rng: ResMut, keys: Res>, mut commands: Commands) { + - if query.is_empty() { - return; - } - - let (mut automation, entity) = query.iter_mut().next().unwrap(); + let (mut automation, entity) = query.into_inner(); if keys.just_pressed(KeyCode::Space){ let random = &mut seeded_rng.0; diff --git a/src/subplate_automation.rs b/src/subplate_automation.rs index 37b946d..22606bf 100644 --- a/src/subplate_automation.rs +++ b/src/subplate_automation.rs @@ -199,18 +199,15 @@ impl SubPlateAutomation { } pub fn setup_hex_matrix( - request_query: Query<(&HexMatrixRequest, Entity)>, - view_query: Query<&Sprite, With>, - mut automation_query: Query<&SubPlateAutomation>, + request_query: Single<(&HexMatrixRequest, Entity)>, + view_query: Single<&Sprite, With>, + mut automation_query: Single<&SubPlateAutomation>, mut commands: Commands, mut images: ResMut>, ) { - if request_query.is_empty() { - return; - } - let entity = request_query.iter().next().unwrap().1; - let automation = automation_query.iter_mut().next().unwrap(); + let entity = request_query.into_inner().1; + let automation = automation_query.into_inner(); commands.entity(entity).despawn(); println!("Seed hex matrix"); @@ -221,7 +218,7 @@ pub fn setup_hex_matrix( let image = hex_table.get_image_data(); - let sprite = view_query.iter().next().unwrap(); + let sprite = view_query.into_inner(); // images.remove(sprite.image.id()); images.insert(sprite.image.id(), image).unwrap();