use super::*; /// Scheduling condition for determining if a component has been added pub fn any_component_added(q: Query>) -> bool { !q.is_empty() } /// Scheduling condition for determining if a component has been changed pub fn any_component_changed(q: Query>) -> bool { !q.is_empty() } /// Scheduling condition to trigger a system when a specific key is pressed pub fn on_keyboard_press(key: KeyCode) -> impl FnMut(Res>) -> bool { move |keys: Res>| keys.just_pressed(key) } /* /// TODO: Make these work: use bevy::ecs::query::{ArchetypeFilter, QueryData, QueryFilter}; pub fn filter_contains_exactly(n: usize) -> impl FnMut(Query) -> bool where F: QueryFilter + ArchetypeFilter { move |q: Query| q.iter().len() == n } pub fn filter_contains_at_least(n: usize) -> impl FnMut(Query) -> bool where F: QueryFilter + ArchetypeFilter { move |q: Query| q.iter().len() >= n } pub fn filter_contains_at_most(n: usize) -> impl FnMut(Query) -> bool where F: QueryFilter + ArchetypeFilter { move |q: Query| q.iter().len() <= n } pub fn filter_is_empty() -> impl FnMut(Query) -> bool where F: QueryFilter + ArchetypeFilter { move |q: Query| q.iter().len() == 0 } */