pub struct Edges { /* private fields */ }
Expand description
Archetypes and bundles form a graph. Adding or removing a bundle moves
an Entity
to a new Archetype
.
Edges
caches the results of these moves. Each archetype caches
the result of a structural alteration. This can be used to monitor the
state of the archetype graph.
Note: This type only contains edges the World
has already traversed.
If any of functions return None
, it doesn’t mean there is guaranteed
not to be a result of adding or removing that bundle, but rather that
operation that has moved an entity along that edge has not been performed
yet.
Implementations§
Source§impl Edges
impl Edges
Sourcepub fn get_add_bundle(&self, bundle_id: BundleId) -> Option<ArchetypeId>
pub fn get_add_bundle(&self, bundle_id: BundleId) -> Option<ArchetypeId>
Checks the cache for the target archetype when adding a bundle to the
source archetype. For more information, see EntityWorldMut::insert
.
If this returns None
, it means there has not been a transition from
the source archetype via the provided bundle.
Sourcepub fn get_remove_bundle(
&self,
bundle_id: BundleId,
) -> Option<Option<ArchetypeId>>
pub fn get_remove_bundle( &self, bundle_id: BundleId, ) -> Option<Option<ArchetypeId>>
Checks the cache for the target archetype when removing a bundle to the
source archetype. For more information, see EntityWorldMut::remove
.
If this returns None
, it means there has not been a transition from
the source archetype via the provided bundle.
If this returns Some(None)
, it means that the bundle cannot be removed
from the source archetype.
Sourcepub fn get_take_bundle(
&self,
bundle_id: BundleId,
) -> Option<Option<ArchetypeId>>
pub fn get_take_bundle( &self, bundle_id: BundleId, ) -> Option<Option<ArchetypeId>>
Checks the cache for the target archetype when removing a bundle to the
source archetype. For more information, see EntityWorldMut::remove
.
If this returns None
, it means there has not been a transition from
the source archetype via the provided bundle.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Edges
impl RefUnwindSafe for Edges
impl Send for Edges
impl Sync for Edges
impl Unpin for Edges
impl UnwindSafe for Edges
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
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.