Various crash fixes.
This commit is contained in:
parent
488037d074
commit
e4ee87ee27
|
@ -1,6 +1,7 @@
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use bevy::{
|
use bevy::{
|
||||||
|
ecs::entity::Entities,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
tasks::{prelude::*, Task},
|
tasks::{prelude::*, Task},
|
||||||
};
|
};
|
||||||
|
@ -258,9 +259,15 @@ fn poll_tasks(mut commands: Commands, mut query: Query<(Entity, &mut Calculating
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn remove_destination(mut commands: Commands, removed: RemovedComponents<Destination>) {
|
fn remove_destination(
|
||||||
|
mut commands: Commands,
|
||||||
|
entities: &Entities,
|
||||||
|
removed: RemovedComponents<Destination>,
|
||||||
|
) {
|
||||||
for entity in removed.iter() {
|
for entity in removed.iter() {
|
||||||
commands.entity(entity).remove::<Calculating>();
|
if entities.contains(entity) {
|
||||||
|
commands.entity(entity).remove::<Calculating>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -314,19 +314,20 @@ fn remove_visible(
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
visible_entities.remove(&removed);
|
visible_entities.remove(&removed);
|
||||||
let map = map.single();
|
if let Ok(map) = map.get_single() {
|
||||||
let mut cache = HashMap::new();
|
let mut cache = HashMap::new();
|
||||||
viewshed.update(
|
viewshed.update(
|
||||||
&viewer_entity,
|
&viewer_entity,
|
||||||
&mut visible_entities,
|
&mut visible_entities,
|
||||||
start,
|
start,
|
||||||
&*query_pipeline,
|
&*query_pipeline,
|
||||||
&collider_query,
|
&collider_query,
|
||||||
map,
|
map,
|
||||||
&visible,
|
&visible,
|
||||||
&mut cache,
|
&mut cache,
|
||||||
&mut changed,
|
&mut changed,
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user