blob: b95b14f49af83bbf5c162cc4113f8f6c523ffc52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
use bevy::{
prelude::*,
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| 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()
}
None => true,
});
}
// pub fn sync_entity_transforms(
// mut dirworld_entity_query: Query<(&mut DirworldEntity, Ref<Transform>, &GlobalTransform)>,
// ) {
// for (mut dirworld_entity, transform, global_transform) in dirworld_entity_query.iter_mut() {
// if transform.is_changed() && !transform.is_added() {
// if let Some(payload) = &mut dirworld_entity.payload {
// let transform = global_transform.compute_transform();
// *payload.transform = transform;
// }
// }
// }
// }
|