blob: ac5f667842a75be91ddb5937b20135048b48333b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
use bevy::{prelude::{Commands, ResMut}, tasks::{block_on, futures_lite::future}};
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);
}
}
!task.is_finished()
});
}
|