diff --git a/Sources/FirebladeECS/Nexus+Entity.swift b/Sources/FirebladeECS/Nexus+Entity.swift index 5b8181e..76d1bd1 100644 --- a/Sources/FirebladeECS/Nexus+Entity.swift +++ b/Sources/FirebladeECS/Nexus+Entity.swift @@ -33,6 +33,13 @@ extension Nexus { componentIdsByEntity.keys.count } + /// Creates an iterator over all entities in the nexus. + /// + /// Entity order is not guaranteed to stay the same over iterations. + public func makeEntitiesIterator() -> EntitiesIterator { + EntitiesIterator(nexus: self) + } + public func exists(entity entityId: EntityIdentifier) -> Bool { componentIdsByEntity.keys.contains(entityId) }