Struct hecs::CommandBuffer
source · [−]pub struct CommandBuffer { /* private fields */ }
Expand description
Records operations for future application to a World
Useful when operations cannot be applied directly due to ordering concerns or borrow checking.
let mut world = World::new();
let entity = world.reserve_entity();
let mut cmd = CommandBuffer::new();
cmd.insert(entity, (true, 42));
cmd.run_on(&mut world); // cmd can now be reused
assert_eq!(*world.get::<i32>(entity).unwrap(), 42);
Implementations
sourceimpl CommandBuffer
impl CommandBuffer
sourcepub fn insert(&mut self, entity: Entity, components: impl DynamicBundle)
pub fn insert(&mut self, entity: Entity, components: impl DynamicBundle)
Add components from bundle
to entity
, if it exists
Pairs well with World::reserve_entity
to spawn entities with a known handle.
sourcepub fn remove<T: Bundle + 'static>(&mut self, ent: Entity)
pub fn remove<T: Bundle + 'static>(&mut self, ent: Entity)
Remove components from entity
if they exist
sourcepub fn spawn(&mut self, components: impl DynamicBundle)
pub fn spawn(&mut self, components: impl DynamicBundle)
Spawn a new entity with components
If the Entity
is needed immediately, consider combining World::reserve_entity
with
insert
instead.
Trait Implementations
sourceimpl Default for CommandBuffer
impl Default for CommandBuffer
sourceimpl Drop for CommandBuffer
impl Drop for CommandBuffer
impl Send for CommandBuffer
impl Sync for CommandBuffer
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more