pub trait BuildWorldChildren {
    // Required methods
    fn with_children(
        &mut self,
        spawn_children: impl FnOnce(&mut WorldChildBuilder<'_>)
    ) -> &mut Self;
    fn add_child(&mut self, child: Entity) -> &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 set_parent(&mut self, parent: Entity) -> &mut Self;
    fn remove_parent(&mut self) -> &mut Self;
    fn clear_children(&mut self) -> &mut Self;
    fn replace_children(&mut self, children: &[Entity]) -> &mut Self;
}
Expand description

Trait that defines adding, changing and children and parents of an entity directly through the World.

Required Methods§

source

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

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

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

Object Safety§

This trait is not object safe.

Implementors§