Skip to content

ECS Framework API v2.2.13


ECS Framework API / ComponentStorage

Class: ComponentStorage<T>

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:15

高性能组件存储器

Type Parameters

T

T extends Component

Constructors

Constructor

new ComponentStorage<T>(componentType): ComponentStorage<T>

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:21

Parameters

componentType

ComponentType<T>

Returns

ComponentStorage<T>

Accessors

size

Get Signature

get size(): number

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:134

获取组件数量

Returns

number


type

Get Signature

get type(): ComponentType<T>

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:141

获取组件类型

Returns

ComponentType<T>

Methods

addComponent()

addComponent(entityId, component): void

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:35

添加组件

Parameters

entityId

number

实体ID

component

T

组件实例

Returns

void


getComponent()

getComponent(entityId): null | T

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:53

获取组件

Parameters

entityId

number

实体ID

Returns

null | T

组件实例或null


hasComponent()

hasComponent(entityId): boolean

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:63

检查实体是否有此组件

Parameters

entityId

number

实体ID

Returns

boolean

是否有组件


removeComponent()

removeComponent(entityId): null | T

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:72

移除组件

Parameters

entityId

number

实体ID

Returns

null | T

被移除的组件或null


forEach()

forEach(callback): void

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:105

高效遍历所有组件

Parameters

callback

(component, entityId, index) => void

回调函数

Returns

void


getDenseArray()

getDenseArray(): object

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:115

获取所有组件

Returns

object

组件数组

components

components: T[]

entityIds

entityIds: number[]


clear()

clear(): void

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:125

清空所有组件

Returns

void


getStats()

getStats(): object

Defined in: packages/core/src/ECS/Core/ComponentStorage.ts:149

获取存储统计信息

Returns

object

totalSlots

totalSlots: number

usedSlots

usedSlots: number

freeSlots

freeSlots: number

fragmentation

fragmentation: number

Released under the MIT License.