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§
source§impl 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.
When inserting a single component, see insert_one
for convenience.
sourcepub fn insert_one(&mut self, entity: Entity, component: impl Component)
pub fn insert_one(&mut self, entity: Entity, component: impl Component)
Add component
to entity
, if the entity exists
See insert
.
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
When removing a single component, see remove_one
for convenience.
sourcepub fn remove_one<T: Component>(&mut self, ent: Entity)
pub fn remove_one<T: Component>(&mut self, ent: Entity)
Remove a component from entity
if it exists
See remove
.
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§
source§impl Drop for CommandBuffer
impl Drop for CommandBuffer
impl Send for CommandBuffer
impl Sync for CommandBuffer
Auto Trait Implementations§
impl RefUnwindSafe for CommandBuffer
impl Unpin for CommandBuffer
impl UnwindSafe for CommandBuffer
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