diff options
Diffstat (limited to 'ecs/src/component/storage.rs')
-rw-r--r-- | ecs/src/component/storage.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ecs/src/component/storage.rs b/ecs/src/component/storage.rs index 5d9bb06..1bb7fb5 100644 --- a/ecs/src/component/storage.rs +++ b/ecs/src/component/storage.rs @@ -72,6 +72,16 @@ impl Storage self.iter_archetypes_by_lookup(&archetype_id) } + pub fn get_entity_archetype(&self, entity_uid: EntityUid) -> Option<&Archetype> + { + let archetype_id = self.entity_archetype_lookup.get(&entity_uid)?; + + let archetype_index = + self.find_archetype_index_with_entity(*archetype_id, entity_uid)?; + + self.archetypes.get(archetype_index) + } + #[cfg_attr(feature = "debug", tracing::instrument(skip_all))] pub fn push_entity( &mut self, |