Struct WithRelated
pub struct WithRelated<I>(pub I);Expand description
A [SpawnableList] that links already spawned entities to the root entity via relations of type I.
This is useful if the entity has already been spawned earlier or if you spawn multiple relationships link to the same entity at the same time.
If you only need to do this for a single entity, consider using WithOneRelated.
let mut world = World::new();
let child2 = world.spawn(Name::new("Child2")).id();
let child3 = world.spawn(Name::new("Child3")).id();
world.spawn((
Name::new("Root"),
Children::spawn((
Spawn(Name::new("Child1")),
// This adds the already existing entities as children of Root.
WithRelated::new([child2, child3]),
)),
));Tuple Fields§
§0: IImplementations§
§impl<I> WithRelated<I>
impl<I> WithRelated<I>
pub fn new(iter: impl IntoIterator<IntoIter = I>) -> WithRelated<I>
pub fn new(iter: impl IntoIterator<IntoIter = I>) -> WithRelated<I>
Creates a new WithRelated from a collection of entities.
Trait Implementations§
§impl<R, I> SpawnableList<R> for WithRelated<I>
impl<R, I> SpawnableList<R> for WithRelated<I>
§fn spawn(this: MovingPtr<'_, WithRelated<I>>, world: &mut World, entity: Entity)
fn spawn(this: MovingPtr<'_, WithRelated<I>>, world: &mut World, entity: Entity)
§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
Returns a size hint, which is used to reserve space for this list in a
RelationshipTarget. This should be
less than or equal to the actual size of the list. When in doubt, just use 0.Auto Trait Implementations§
impl<I> Freeze for WithRelated<I>where
I: Freeze,
impl<I> RefUnwindSafe for WithRelated<I>where
I: RefUnwindSafe,
impl<I> Send for WithRelated<I>where
I: Send,
impl<I> Sync for WithRelated<I>where
I: Sync,
impl<I> Unpin for WithRelated<I>where
I: Unpin,
impl<I> UnsafeUnpin for WithRelated<I>where
I: UnsafeUnpin,
impl<I> UnwindSafe for WithRelated<I>where
I: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.