From 0dafa2b83c423664df8dcf91c85d2d1d41a7bda5 Mon Sep 17 00:00:00 2001 From: Martin Svanberg Date: Fri, 12 Apr 2024 06:09:04 +0200 Subject: [PATCH] Use get_single instead of single (#15) `big_space` currently panics if you defer creation of the floating origin. Using `get_single` instead of `single` prevents this. --- src/debug.rs | 4 +++- src/lib.rs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/debug.rs b/src/debug.rs index cb3cd7d..7ed2288 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -27,7 +27,9 @@ pub fn update_debug_bounds( occupied_cells: Query<&GridCell

, Without>, origin_cells: Query<&GridCell

, With>, ) { - let origin_cell = origin_cells.single(); + let Ok(origin_cell) = origin_cells.get_single() else { + return; + }; for cell in occupied_cells.iter() { let cell = cell - origin_cell; let scale = Vec3::splat(settings.grid_edge_length * 0.999); diff --git a/src/lib.rs b/src/lib.rs index 993c4ea..b9667e2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -322,7 +322,9 @@ pub fn update_global_from_grid( Query<(GridTransformReadOnly

, &mut GlobalTransform)>, )>, ) { - let (origin_cell, floating_origin) = origin.single(); + let Ok((origin_cell, floating_origin)) = origin.get_single() else { + return; + }; if origin_cell.is_changed() || floating_origin.is_changed() { let mut all_entities = entities.p1();