Package dev.prozilla.pine.core.entity
Class EntityQuery
java.lang.Object
dev.prozilla.pine.core.entity.EntityQuery
- All Implemented Interfaces:
Destructible
Utility class for querying entities with specific components to be processed by a system.
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal ArrayList<EntityChunk> List of entities that match this query.boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Removes all component groups.voidMarks the ongoing iteration of this entity query as done.booleanChecks if this entity query has matched any entities.voidprint()voidbooleanChecks if an entity matches this query and if it does, adds the entity to the array of matches.voidPrepares this entity query for an iteration.booleanunregister(Entity entity) Unregisters an entity in this query.
-
Field Details
-
entityChunks
List of entities that match this query. -
isIterating
public boolean isIterating
-
-
Constructor Details
-
EntityQuery
-
-
Method Details
-
destroy
public void destroy()Removes all component groups.- Specified by:
destroyin interfaceDestructible
-
startIteration
Prepares this entity query for an iteration.- Throws:
IllegalStateException- If this entity query is already being iterated.
-
endIteration
Marks the ongoing iteration of this entity query as done.- Throws:
IllegalStateException- If this entity query is not being iterated.
-
register
Checks if an entity matches this query and if it does, adds the entity to the array of matches.- Returns:
- True if the entity matches this query
-
unregister
Unregisters an entity in this query.- Parameters:
entity- The entity- Returns:
- True if this query was affected.
-
hasEntityChunks
public boolean hasEntityChunks()Checks if this entity query has matched any entities. -
print
public void print() -
print
-