Trait bevy::hierarchy::BuildChildren

pub trait BuildChildren {
    type Builder<'a>: ChildBuild;

    // Required methods
    fn with_children(
        &mut self,
        f: impl FnOnce(&mut Self::Builder<'_>),
    ) -> &mut Self;
    fn push_children(&mut self, children: &[Entity]) -> &mut Self;
    fn insert_children(
        &mut self,
        index: usize,
        children: &[Entity],
    ) -> &mut Self;
    fn remove_children(&mut self, children: &[Entity]) -> &mut Self;
    fn add_child(&mut self, child: Entity) -> &mut Self;
    fn clear_children(&mut self) -> &mut Self;
    fn replace_children(&mut self, children: &[Entity]) -> &mut Self;
    fn set_parent(&mut self, parent: Entity) -> &mut Self;
    fn remove_parent(&mut self) -> &mut Self;
}
Expand description

Trait for removing, adding and replacing children and parents of an entity.

Required Associated Types§

type Builder<'a>: ChildBuild

Child builder type.

Required Methods§

fn with_children(&mut self, f: impl FnOnce(&mut Self::Builder<'_>)) -> &mut Self

Takes a closure which builds children for this entity using ChildBuild.

fn push_children(&mut self, children: &[Entity]) -> &mut Self

Pushes children to the back of the builder’s children. For any entities that are already a child of this one, this method does nothing.

If the children were previously children of another parent, that parent’s Children component will have those children removed from its list. Removing all children from a parent causes its Children component to be removed from the entity.

§Panics

Panics if any of the children are the same as the parent.

fn insert_children(&mut self, index: usize, children: &[Entity]) -> &mut Self

Inserts children at the given index.

If the children were previously children of another parent, that parent’s Children component will have those children removed from its list. Removing all children from a parent causes its Children component to be removed from the entity.

§Panics

Panics if any of the children are the same as the parent.

fn remove_children(&mut self, children: &[Entity]) -> &mut Self

Removes the given children

Removing all children from a parent causes its Children component to be removed from the entity.

fn add_child(&mut self, child: Entity) -> &mut Self

Adds a single child.

If the children were previously children of another parent, that parent’s Children component will have those children removed from its list. Removing all children from a parent causes its Children component to be removed from the entity.

§Panics

Panics if the child is the same as the parent.

fn clear_children(&mut self) -> &mut Self

Removes all children from this entity. The Children component will be removed if it exists, otherwise this does nothing.

fn replace_children(&mut self, children: &[Entity]) -> &mut Self

Removes all current children from this entity, replacing them with the specified list of entities.

The removed children will have their Parent component removed.

§Panics

Panics if any of the children are the same as the parent.

fn set_parent(&mut self, parent: Entity) -> &mut Self

Sets the parent of this entity.

If this entity already had a parent, the parent’s Children component will have this child removed from its list. Removing all children from a parent causes its Children component to be removed from the entity.

§Panics

Panics if the parent is the same as the child.

fn remove_parent(&mut self) -> &mut Self

Removes the Parent of this entity.

Also removes this entity from its parent’s Children component. Removing all children from a parent causes its Children component to be removed from the entity.

Object Safety§

This trait is not object safe.

Implementors§