aboutsummaryrefslogtreecommitdiff
path: root/src/systems.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems.rs')
-rw-r--r--src/systems.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/systems.rs b/src/systems.rs
index d6840ee..b95b14f 100644
--- a/src/systems.rs
+++ b/src/systems.rs
@@ -6,13 +6,16 @@ use bevy::{
use crate::resources::DirworldTasks;
pub fn remove_completed_tasks(mut commands: Commands, mut tasks: ResMut<DirworldTasks>) {
- tasks.retain(|_, task| {
- if task.is_finished() {
- if let Some(Some(mut command_queue)) = block_on(future::poll_once(&mut *task)) {
- commands.append(&mut command_queue);
+ tasks.retain(|_, task| match task {
+ Some(task) => {
+ if task.is_finished() {
+ if let Some(Some(mut command_queue)) = block_on(future::poll_once(&mut *task)) {
+ commands.append(&mut command_queue);
+ }
}
+ !task.is_finished()
}
- !task.is_finished()
+ None => true,
});
}