# Class: Family
Represents a group of Components. It is used to describe what Entity objects an EntitySystem should process. Families can't be instantiated directly but must be accessed via a builder. This is to avoid duplicate families that describe the same components Start with Family.all, Family.one or Family.exclude.
# Table of contents
# Properties
# Methods
# Properties
# index
• Readonly index: number
The unique identifier of this Family.
# Defined in
src/core/Family.ts:129 (opens new window)
# Methods
# matches
▸ matches(entity): boolean
# Parameters
| Name | Type | Description |
|---|---|---|
entity | Entity | The entity to check. |
# Returns
boolean
Whether the entity matches the family requirements or not.
# Defined in
src/core/Family.ts:150 (opens new window)
# all
▸ Static all(...classes): FamilyBuilder
Entities of the family will have to contain all of the specified components.
# Parameters
| Name | Type | Description |
|---|---|---|
...classes | ComponentConstructor<Component>[] | All of these classes must be on an entity for it to belong to this family. |
# Returns
A builder singleton instance to get a Family.
# Defined in
src/core/Family.ts:168 (opens new window)
# exclude
▸ Static exclude(...classes): FamilyBuilder
Entities of the family cannot contain any of the specified components.
# Parameters
| Name | Type | Description |
|---|---|---|
...classes | ComponentConstructor<Component>[] | If any one of these classes is on an entity, it will not belong to this family. |
# Returns
A builder singleton instance to get a Family.
# Defined in
src/core/Family.ts:188 (opens new window)
# one
▸ Static one(...classes): FamilyBuilder
Entities of the family will have to contain at least one of the specified components.
# Parameters
| Name | Type | Description |
|---|---|---|
...classes | ComponentConstructor<Component>[] | One of these classes must be on an entity for it to belong to this family. |
# Returns
A builder singleton instance to get a Family.