Struct amethyst::ecs::changeset::ChangeSet [−]
pub struct ChangeSet<T> { /* fields omitted */ }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; }
Methods
impl<T> ChangeSet<T>
impl<T> ChangeSet<T>pub fn new() -> ChangeSet<T>
pub fn new() -> ChangeSet<T>Create a new change set
pub fn add(&mut self, entity: Entity, value: T) where
T: AddAssign<T>,
pub fn add(&mut self, entity: Entity, value: T) where
T: AddAssign<T>, Add a value to the change set. If the entity already have a value in the change set, the incoming value will be added to that.
pub fn clear(&mut self)
pub fn clear(&mut self)Clear the changeset
Trait Implementations
impl<T> FromIterator<(Entity, T)> for ChangeSet<T> where
T: AddAssign<T>,
impl<T> FromIterator<(Entity, T)> for ChangeSet<T> where
T: AddAssign<T>, fn from_iter<I>(iter: I) -> ChangeSet<T> where
I: IntoIterator<Item = (Entity, T)>,
fn from_iter<I>(iter: I) -> ChangeSet<T> where
I: IntoIterator<Item = (Entity, T)>, Creates a value from an iterator. Read more
impl<T> Extend<(Entity, T)> for ChangeSet<T> where
T: AddAssign<T>,
impl<T> Extend<(Entity, T)> for ChangeSet<T> where
T: AddAssign<T>, fn extend<I>(&mut self, iter: I) where
I: IntoIterator<Item = (Entity, T)>,
fn extend<I>(&mut self, iter: I) where
I: IntoIterator<Item = (Entity, T)>, Extends a collection with the contents of an iterator. Read more
impl<'a, T> Join for &'a mut ChangeSet<T>
impl<'a, T> Join for &'a mut ChangeSet<T>type Type = &'a mut T
Type of joined components.
type Value = &'a mut DenseVecStorage<T>
Type of joined storages.
type Mask = &'a BitSet
Type of joined bit mask.
unsafe fn open(
self
) -> (<&'a mut ChangeSet<T> as Join>::Mask, <&'a mut ChangeSet<T> as Join>::Value)
unsafe fn open(
self
) -> (<&'a mut ChangeSet<T> as Join>::Mask, <&'a mut ChangeSet<T> as Join>::Value)Open this join by returning the mask and the storages. Read more
unsafe fn get(
v: &mut <&'a mut ChangeSet<T> as Join>::Value,
id: u32
) -> <&'a mut ChangeSet<T> as Join>::Type
unsafe fn get(
v: &mut <&'a mut ChangeSet<T> as Join>::Value,
id: u32
) -> <&'a mut ChangeSet<T> as Join>::TypeGet a joined component value by a given index.
ⓘImportant traits for JoinIter<J>fn join(self) -> JoinIter<Self>
fn join(self) -> JoinIter<Self>Create a joined iterator over the contents.
impl<'a, T> Join for &'a ChangeSet<T>
impl<'a, T> Join for &'a ChangeSet<T>type Type = &'a T
Type of joined components.
type Value = &'a DenseVecStorage<T>
Type of joined storages.
type Mask = &'a BitSet
Type of joined bit mask.
unsafe fn open(
self
) -> (<&'a ChangeSet<T> as Join>::Mask, <&'a ChangeSet<T> as Join>::Value)
unsafe fn open(
self
) -> (<&'a ChangeSet<T> as Join>::Mask, <&'a ChangeSet<T> as Join>::Value)Open this join by returning the mask and the storages. Read more
unsafe fn get(
value: &mut <&'a ChangeSet<T> as Join>::Value,
id: u32
) -> <&'a ChangeSet<T> as Join>::Type
unsafe fn get(
value: &mut <&'a ChangeSet<T> as Join>::Value,
id: u32
) -> <&'a ChangeSet<T> as Join>::TypeGet a joined component value by a given index.
ⓘImportant traits for JoinIter<J>fn join(self) -> JoinIter<Self>
fn join(self) -> JoinIter<Self>Create a joined iterator over the contents.
impl<T> Join for ChangeSet<T>
impl<T> Join for ChangeSet<T>type Type = T
Type of joined components.
type Value = DenseVecStorage<T>
Type of joined storages.
type Mask = BitSet
Type of joined bit mask.
unsafe fn open(
self
) -> (<ChangeSet<T> as Join>::Mask, <ChangeSet<T> as Join>::Value)
unsafe fn open(
self
) -> (<ChangeSet<T> as Join>::Mask, <ChangeSet<T> as Join>::Value)Open this join by returning the mask and the storages. Read more
unsafe fn get(
value: &mut <ChangeSet<T> as Join>::Value,
id: u32
) -> <ChangeSet<T> as Join>::Type
unsafe fn get(
value: &mut <ChangeSet<T> as Join>::Value,
id: u32
) -> <ChangeSet<T> as Join>::TypeGet a joined component value by a given index.
ⓘImportant traits for JoinIter<J>fn join(self) -> JoinIter<Self>
fn join(self) -> JoinIter<Self>Create a joined iterator over the contents.