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