ArchetypeId class
Identifies an archetype by its set of component types.
An archetype is defined by a unique combination of component types. Entities with the same set of components share an archetype and are stored together for cache-efficient iteration.
Example
// Create an archetype for entities with Position and Velocity
final archetype = ArchetypeId.of([
ComponentId.of<Position>(),
ComponentId.of<Velocity>(),
]);
- Annotations
-
- @immutable
Constructors
- ArchetypeId.empty()
-
Creates an empty archetype (entity with no components).
factory
-
ArchetypeId.of(Iterable<
ComponentId> componentIds) -
Creates an ArchetypeId from an iterable of ComponentIds.
factory
Properties
-
components
→ List<
ComponentId> -
The sorted list of component IDs that define this archetype.
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- isEmpty → bool
-
Returns true if this archetype has no components.
no setter
- length → int
-
The number of component types in this archetype.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
contains(
ComponentId componentId) → bool -
Returns true if this archetype contains the given
componentId. -
containsAll(
ArchetypeId other) → bool -
Returns true if this archetype contains all components in
other. -
containsAny(
ArchetypeId other) → bool -
Returns true if this archetype contains any component in
other. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
-
withComponent(
ComponentId componentId) → ArchetypeId -
Returns a new ArchetypeId with the given
componentIdadded. -
withoutComponent(
ComponentId componentId) → ArchetypeId -
Returns a new ArchetypeId with the given
componentIdremoved.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override