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§
Sourcefn with_children(
&mut self,
spawn_children: impl FnOnce(&mut WorldChildBuilder<'_>),
) -> &mut Self
fn with_children( &mut self, spawn_children: impl FnOnce(&mut WorldChildBuilder<'_>), ) -> &mut Self
Takes a closure which builds children for this entity using WorldChildBuilder
.
Sourcefn add_child(&mut self, child: Entity) -> &mut Self
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.
Sourcefn push_children(&mut self, children: &[Entity]) -> &mut Self
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.
Sourcefn insert_children(&mut self, index: usize, children: &[Entity]) -> &mut Self
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.
Sourcefn remove_children(&mut self, children: &[Entity]) -> &mut Self
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.
Sourcefn set_parent(&mut self, parent: Entity) -> &mut Self
fn set_parent(&mut self, parent: Entity) -> &mut Self
Sourcefn remove_parent(&mut self) -> &mut Self
fn remove_parent(&mut self) -> &mut Self
Sourcefn clear_children(&mut self) -> &mut Self
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.
Sourcefn replace_children(&mut self, children: &[Entity]) -> &mut Self
fn replace_children(&mut self, children: &[Entity]) -> &mut Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.