diff --git a/src/world.rs b/src/world.rs index cf1720b..469fe3a 100644 --- a/src/world.rs +++ b/src/world.rs @@ -172,7 +172,7 @@ fn spawn_despawn_asteroids( q_player: Query<&Position, With>, mut ew_despawn: EventWriter, mut db: ResMut, - mut q_asteroid: Query<(Entity, &SceneInstance), With>, + mut q_asteroid: Query<&SceneInstance, With>, mut last_player_cell: Local, id2pos: Res, asset_server: Res, @@ -216,19 +216,13 @@ fn spawn_despawn_asteroids( || origin.y < y_min || origin.y > y_max || origin.z < z_min || origin.z > z_max { - let mut despawning_worked = false; - for (ent, sceneinstance) in &mut q_asteroid { - if ent == asteroid.entity { - ew_despawn.send(DespawnEvent { - entity: asteroid.entity, - sceneinstance: **sceneinstance, - origin: origin.clone(), - }); - despawning_worked = true; - break; - } - } - if !despawning_worked { + if let Ok(sceneinstance) = q_asteroid.get(asteroid.entity) { + ew_despawn.send(DespawnEvent { + entity: asteroid.entity, + sceneinstance: **sceneinstance, + origin: origin.clone(), + }); + } else { error!("Couldn't despawn asteroid:"); dbg!(origin); }