Expose current_entity in ChildBuilder (#595)
This commit is contained in:
parent
3a4eacbdee
commit
056f84a2c1
@ -81,6 +81,10 @@ impl<'a> ChildBuilder<'a> {
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn current_entity(&self) -> Option<Entity> {
|
||||||
|
self.commands.current_entity
|
||||||
|
}
|
||||||
|
|
||||||
pub fn with_bundle(
|
pub fn with_bundle(
|
||||||
&mut self,
|
&mut self,
|
||||||
components: impl DynamicBundle + Send + Sync + 'static,
|
components: impl DynamicBundle + Send + Sync + 'static,
|
||||||
@ -215,6 +219,7 @@ mod tests {
|
|||||||
let mut parent = None;
|
let mut parent = None;
|
||||||
let mut child1 = None;
|
let mut child1 = None;
|
||||||
let mut child2 = None;
|
let mut child2 = None;
|
||||||
|
let mut child3 = None;
|
||||||
|
|
||||||
commands
|
commands
|
||||||
.spawn((1,))
|
.spawn((1,))
|
||||||
@ -224,14 +229,18 @@ mod tests {
|
|||||||
.spawn((2,))
|
.spawn((2,))
|
||||||
.for_current_entity(|e| child1 = Some(e))
|
.for_current_entity(|e| child1 = Some(e))
|
||||||
.spawn((3,))
|
.spawn((3,))
|
||||||
.for_current_entity(|e| child2 = Some(e));
|
.for_current_entity(|e| child2 = Some(e))
|
||||||
|
.spawn((4,));
|
||||||
|
|
||||||
|
child3 = parent.current_entity();
|
||||||
});
|
});
|
||||||
|
|
||||||
commands.apply(&mut world, &mut resources);
|
commands.apply(&mut world, &mut resources);
|
||||||
let parent = parent.expect("parent should exist");
|
let parent = parent.expect("parent should exist");
|
||||||
let child1 = child1.expect("child1 should exist");
|
let child1 = child1.expect("child1 should exist");
|
||||||
let child2 = child2.expect("child2 should exist");
|
let child2 = child2.expect("child2 should exist");
|
||||||
let expected_children: SmallVec<[Entity; 8]> = smallvec![child1, child2];
|
let child3 = child3.expect("child3 should exist");
|
||||||
|
let expected_children: SmallVec<[Entity; 8]> = smallvec![child1, child2, child3];
|
||||||
|
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
world.get::<Children>(parent).unwrap().0.clone(),
|
world.get::<Children>(parent).unwrap().0.clone(),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user