This commit is contained in:
yuni 2024-04-24 04:30:59 +02:00
parent 343bba314c
commit 656d7f02f0

View file

@ -172,7 +172,7 @@ fn spawn_despawn_asteroids(
q_player: Query<&Position, With<actor::PlayerCamera>>, q_player: Query<&Position, With<actor::PlayerCamera>>,
mut ew_despawn: EventWriter<DespawnEvent>, mut ew_despawn: EventWriter<DespawnEvent>,
mut db: ResMut<ActiveAsteroids>, mut db: ResMut<ActiveAsteroids>,
mut q_asteroid: Query<(Entity, &SceneInstance), With<Asteroid>>, mut q_asteroid: Query<&SceneInstance, With<Asteroid>>,
mut last_player_cell: Local<I64Vec3>, mut last_player_cell: Local<I64Vec3>,
id2pos: Res<actor::Id2Pos>, id2pos: Res<actor::Id2Pos>,
asset_server: Res<AssetServer>, asset_server: Res<AssetServer>,
@ -216,19 +216,13 @@ fn spawn_despawn_asteroids(
|| origin.y < y_min || origin.y > y_max || origin.y < y_min || origin.y > y_max
|| origin.z < z_min || origin.z > z_max || origin.z < z_min || origin.z > z_max
{ {
let mut despawning_worked = false; if let Ok(sceneinstance) = q_asteroid.get(asteroid.entity) {
for (ent, sceneinstance) in &mut q_asteroid { ew_despawn.send(DespawnEvent {
if ent == asteroid.entity { entity: asteroid.entity,
ew_despawn.send(DespawnEvent { sceneinstance: **sceneinstance,
entity: asteroid.entity, origin: origin.clone(),
sceneinstance: **sceneinstance, });
origin: origin.clone(), } else {
});
despawning_worked = true;
break;
}
}
if !despawning_worked {
error!("Couldn't despawn asteroid:"); error!("Couldn't despawn asteroid:");
dbg!(origin); dbg!(origin);
} }