Skip to content

@ue-too/ecs / index / ComponentArray

Class: ComponentArray<T> ​

Defined in: index.ts:601

Efficient sparse-set data structure for storing component data.

Remarks ​

ComponentArray uses a sparse-set implementation for O(1) insertion, deletion, and lookup while maintaining dense packing for cache-efficient iteration.

The sparse-set consists of:

  • Dense array: Packed component data for iteration
  • Sparse array: Maps entity ID to dense array index
  • Reverse array: Maps dense array index back to entity ID

This structure allows fast component access by entity ID and fast iteration over all components without gaps.

Type Parameters ​

T ​

T

The component data type

Implements ​

Constructors ​

Constructor ​

new ComponentArray<T>(maxEntities): ComponentArray<T>

Defined in: index.ts:607

Parameters ​

maxEntities ​

number

Returns ​

ComponentArray<T>

Methods ​

entityDestroyed() ​

entityDestroyed(entity): void

Defined in: index.ts:677

Parameters ​

entity ​

number

Returns ​

void

Implementation of ​

CArray.entityDestroyed


getAllEntities() ​

getAllEntities(): number[]

Defined in: index.ts:685

Get all entities that have this component.

Returns ​

number[]

Array of entity IDs that have this component


getCount() ​

getCount(): number

Defined in: index.ts:700

Get the count of entities with this component.

Returns ​

number

Number of entities with this component


getData() ​

getData(entity): T | null

Defined in: index.ts:632

Parameters ​

entity ​

number

Returns ​

T | null


insertData() ​

insertData(entity, data): void

Defined in: index.ts:614

Parameters ​

entity ​

number

data ​

T

Returns ​

void


removeData() ​

removeData(entity): void

Defined in: index.ts:653

Parameters ​

entity ​

number

Returns ​

void