diff options
author | 2025-02-15 20:53:19 -0500 | |
---|---|---|
committer | 2025-02-15 20:53:19 -0500 | |
commit | 9e5f782eb228a6b050b01d5c4c82dba1399f7172 (patch) | |
tree | 2fe21e55d073b3ee5b31ef05c3e036bec71c2b03 /src/systems.rs | |
parent | a1e9304dc31980703446bdb33246e314bafd3b15 (diff) |
directory-aware navigation
Diffstat (limited to 'src/systems.rs')
-rw-r--r-- | src/systems.rs | 13 |
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, }); } |