ECS Framework API / SoAStorage
Class: SoAStorage<T>
Defined in: packages/core/src/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: packages/core/src/ECS/Core/SoAStorage.ts:349
Parameters
componentType
ComponentType<T>
Returns
SoAStorage<T>
Properties
type
readonlytype:ComponentType<T>
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:347
Methods
addComponent()
addComponent(
entityId,component):void
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:442
Parameters
entityId
number
component
T
Returns
void
getComponent()
getComponent(
entityId):null|T
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:610
Parameters
entityId
number
Returns
null | T
hasComponent()
hasComponent(
entityId):boolean
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:665
Parameters
entityId
number
Returns
boolean
removeComponent()
removeComponent(
entityId):null|T
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:669
Parameters
entityId
number
Returns
null | T
getActiveIndices()
getActiveIndices():
number[]
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:741
Returns
number[]
getFieldArray()
getFieldArray(
fieldName):null|SupportedTypedArray
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:745
Parameters
fieldName
string
Returns
null | SupportedTypedArray
getTypedFieldArray()
getTypedFieldArray<
K>(fieldName):null|SupportedTypedArray
Defined in: packages/core/src/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: packages/core/src/ECS/Core/SoAStorage.ts:753
Parameters
entityId
number
Returns
undefined | number
getEntityIdByIndex()
getEntityIdByIndex(
index):undefined|number
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:757
Parameters
index
number
Returns
undefined | number
size()
size():
number
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:761
Returns
number
clear()
clear():
void
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:765
Returns
void
compact()
compact():
void
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:792
Returns
void
getStats()
getStats():
any
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:847
Returns
any
performVectorizedOperation()
performVectorizedOperation(
operation):void
Defined in: packages/core/src/ECS/Core/SoAStorage.ts:913
执行向量化批量操作
Parameters
operation
(fieldArrays, activeIndices) => void
操作函数,接收字段数组和活跃索引
Returns
void