Moving to Single from Query

This commit is contained in:
2026-06-29 13:16:27 +03:00
parent cb90b53145
commit 9372c1ae56
3 changed files with 16 additions and 26 deletions
+3 -5
View File
@@ -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<SeededRng>,
keys: Res<ButtonInput<KeyCode>>,
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;
+7 -12
View File
@@ -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<Assets<Image>>,
) {
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<SeededRng>,
keys: Res<ButtonInput<KeyCode>>,
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;
+6 -9
View File
@@ -199,18 +199,15 @@ impl SubPlateAutomation {
}
pub fn setup_hex_matrix(
request_query: Query<(&HexMatrixRequest, Entity)>,
view_query: Query<&Sprite, With<HexMatrixView>>,
mut automation_query: Query<&SubPlateAutomation>,
request_query: Single<(&HexMatrixRequest, Entity)>,
view_query: Single<&Sprite, With<HexMatrixView>>,
mut automation_query: Single<&SubPlateAutomation>,
mut commands: Commands,
mut images: ResMut<Assets<Image>>,
) {
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();