Struct specs::changeset::ChangeSet [−][src]
pub struct ChangeSet<T> { /* fields omitted */ }
Expand description
Change set that can be collected from an iterator, and joined on for easy application to components.
Example
pub struct Health(i32); impl Component for Health { type Storage = DenseVecStorage<Self>; } let a = world.create_entity().with(Health(100)).build(); let b = world.create_entity().with(Health(200)).build(); let changeset = [(a, 32), (b, 12), (b, 13)] .iter() .cloned() .collect::<ChangeSet<i32>>(); for (health, modifier) in (&mut world.write_storage::<Health>(), &changeset).join() { health.0 -= modifier; }
Implementations
Trait Implementations
Extends a collection with the contents of an iterator. Read more
extend_one
)Extends a collection with exactly one element.
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
type Value = &'a mut DenseVecStorage<T>
type Value = &'a mut DenseVecStorage<T>
Type of joined storages.
Open this join by returning the mask and the storages. Read more
Get a joined component value by a given index. Read more
Create a joined iterator over the contents.
Returns a Join
-able structure that yields all indices, returning
None
for all missing elements and Some(T)
for found elements. Read more
If this Join
typically returns all indices in the mask, then iterating
over only it or combined with other joins that are also dangerous
will cause the JoinIter
/ParJoin
to go through all indices which
is usually not what is wanted and will kill performance. Read more
type Value = &'a DenseVecStorage<T>
type Value = &'a DenseVecStorage<T>
Type of joined storages.
Open this join by returning the mask and the storages. Read more
Get a joined component value by a given index. Read more
Create a joined iterator over the contents.
Returns a Join
-able structure that yields all indices, returning
None
for all missing elements and Some(T)
for found elements. Read more
If this Join
typically returns all indices in the mask, then iterating
over only it or combined with other joins that are also dangerous
will cause the JoinIter
/ParJoin
to go through all indices which
is usually not what is wanted and will kill performance. Read more
A Join
implementation for ChangeSet
that simply removes all the entries
on a call to get
.
type Type = T
type Type = T
Type of joined components.
type Value = DenseVecStorage<T>
type Value = DenseVecStorage<T>
Type of joined storages.
Open this join by returning the mask and the storages. Read more
Get a joined component value by a given index. Read more
Create a joined iterator over the contents.
Returns a Join
-able structure that yields all indices, returning
None
for all missing elements and Some(T)
for found elements. Read more
If this Join
typically returns all indices in the mask, then iterating
over only it or combined with other joins that are also dangerous
will cause the JoinIter
/ParJoin
to go through all indices which
is usually not what is wanted and will kill performance. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for ChangeSet<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for ChangeSet<T> where
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: Any,
impl<T> Any for T where
T: Any,
pub fn get_type_id(&self) -> TypeId
Mutably borrows from an owned value. Read more
Tries to create the default.
Calls try_default
and panics on an error case.