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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
use crate::prelude::TestApp;
// FIX: no longer compiles with 0.17
#[doc = include_str!("./immediate_query.md")]
pub trait ImmediateQuery {
// fn query_single<D>(&mut self) -> Result<<D as QueryData>::Item<'_, '_>, QuerySingleError>
// where
// D: ReadOnlyQueryData;
// fn query_single_filtered<D, F>(
// &mut self,
// ) -> Result<<D as QueryData>::Item<'_, '_>, QuerySingleError>
// where
// D: ReadOnlyQueryData,
// F: QueryFilter;
// fn query_collect<D, C>(&mut self) -> C
// where
// D: ReadOnlyQueryData,
// for<'w, 's> C: std::iter::FromIterator<<D as QueryData>::Item<'w, 's>>;
// #[cfg(feature = "itertools")]
// fn query_vec<D>(&mut self) -> Vec<<D as QueryData>::Item<'_, '_>>
// where
// D: ReadOnlyQueryData;
}
impl ImmediateQuery for TestApp {
// fn query_single<D>(&mut self) -> Result<<D as QueryData>::Item<'_, '_>, QuerySingleError>
// where
// D: ReadOnlyQueryData,
// {
// let mut query = self.world_mut().query::<D>();
// query.single(self.world_mut())
// }
// fn query_single_filtered<D, F>(
// &mut self,
// ) -> Result<<D as QueryData>::Item<'_, '_>, QuerySingleError>
// where
// D: ReadOnlyQueryData,
// F: QueryFilter,
// {
// let mut query = self.world_mut().query_filtered::<D, F>();
// query.single(self.world_mut())
// }
// fn query_collect<D, C>(&mut self) -> C
// where
// D: ReadOnlyQueryData,
// for<'a> C: std::iter::FromIterator<<D as bevy_ecs::query::QueryData>::Item<'a, 'a>>,
// {
// let mut query = self.world_mut().query::<D>();
// let result = query.iter(self.world_mut()).collect::<C>();
// result
// }
// #[cfg(feature = "itertools")]
// fn query_vec<'a, D>(&'a mut self) -> Vec<<D as QueryData>::Item<'a, 'a>>
// where
// D: ReadOnlyQueryData + 'a,
// {
// use itertools::Itertools;
//
// let mut query = self.world_mut().query::<D>();
// query.iter(self.world_mut()).collect_vec()
// }
}