Skip to content

ECS Framework API v2.1.50


ECS Framework API / SoAStorage

Class: SoAStorage<T>

Defined in: ECS/Core/SoAStorage.ts:336

SoA存储器(需要装饰器启用) 使用Structure of Arrays存储模式,在大规模批量操作时提供优异性能

Type Parameters

T

T extends Component

Constructors

Constructor

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

Defined in: ECS/Core/SoAStorage.ts:349

Parameters

componentType

ComponentType<T>

Returns

SoAStorage<T>

Properties

type

readonly type: ComponentType<T>

Defined in: ECS/Core/SoAStorage.ts:347

Methods

addComponent()

addComponent(entityId, component): void

Defined in: ECS/Core/SoAStorage.ts:442

Parameters

entityId

number

component

T

Returns

void


getComponent()

getComponent(entityId): null | T

Defined in: ECS/Core/SoAStorage.ts:610

Parameters

entityId

number

Returns

null | T


hasComponent()

hasComponent(entityId): boolean

Defined in: ECS/Core/SoAStorage.ts:665

Parameters

entityId

number

Returns

boolean


removeComponent()

removeComponent(entityId): null | T

Defined in: ECS/Core/SoAStorage.ts:669

Parameters

entityId

number

Returns

null | T


getActiveIndices()

getActiveIndices(): number[]

Defined in: ECS/Core/SoAStorage.ts:741

Returns

number[]


getFieldArray()

getFieldArray(fieldName): null | SupportedTypedArray

Defined in: ECS/Core/SoAStorage.ts:745

Parameters

fieldName

string

Returns

null | SupportedTypedArray


getTypedFieldArray()

getTypedFieldArray<K>(fieldName): null | SupportedTypedArray

Defined in: ECS/Core/SoAStorage.ts:749

Type Parameters

K

K extends string | number | symbol

Parameters

fieldName

K

Returns

null | SupportedTypedArray


getEntityIndex()

getEntityIndex(entityId): undefined | number

Defined in: ECS/Core/SoAStorage.ts:753

Parameters

entityId

number

Returns

undefined | number


getEntityIdByIndex()

getEntityIdByIndex(index): undefined | number

Defined in: ECS/Core/SoAStorage.ts:757

Parameters

index

number

Returns

undefined | number


size()

size(): number

Defined in: ECS/Core/SoAStorage.ts:761

Returns

number


clear()

clear(): void

Defined in: ECS/Core/SoAStorage.ts:765

Returns

void


compact()

compact(): void

Defined in: ECS/Core/SoAStorage.ts:792

Returns

void


getStats()

getStats(): any

Defined in: ECS/Core/SoAStorage.ts:835

Returns

any


performVectorizedOperation()

performVectorizedOperation(operation): void

Defined in: ECS/Core/SoAStorage.ts:901

执行向量化批量操作

Parameters

operation

(fieldArrays, activeIndices) => void

操作函数,接收字段数组和活跃索引

Returns

void

Released under the MIT License.