Trait aery::operations::TrackSelf
source · pub trait TrackSelf {
type Out;
// Required method
fn track_self(self) -> Self::Out;
}
Expand description
Lets a traversing query track itself. This is just immediate ancestors/descendants depending
on if the traversal is a descent or ascent. See Track
for an explaination on tracking.
§Example
use bevy::prelude::*;
use aery::prelude::*;
#[derive(Component)]
struct A;
#[derive(Component)]
struct B;
#[derive(Relation)]
struct R;
fn descent_with_parent(
left: Query<((&A, &B), Relations<R>)>,
starts: Query<Entity, Root<R>>
) {
left.traverse::<R>(starts.iter())
.track_self()
.for_each(|(parent_a, parent_b), _, (child_a, child_b), _| {
// ..
})
}