ECS Framework API / ComponentRegistry
Class: ComponentRegistry
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:15
组件注册表 管理组件类型的位掩码分配
Constructors
Constructor
new ComponentRegistry():
ComponentRegistry
Returns
ComponentRegistry
Properties
_logger
protectedreadonlystatic_logger:ILogger
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:16
Methods
register()
staticregister<T>(componentType):number
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:29
注册组件类型并分配位掩码
Type Parameters
T
T extends Component
Parameters
componentType
ComponentType<T>
组件类型
Returns
number
分配的位索引
getBitMask()
staticgetBitMask<T>(componentType):BitMask64Data
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:51
获取组件类型的位掩码
Type Parameters
T
T extends Component
Parameters
componentType
ComponentType<T>
组件类型
Returns
位掩码
getBitIndex()
staticgetBitIndex<T>(componentType):number
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:65
获取组件类型的位索引
Type Parameters
T
T extends Component
Parameters
componentType
ComponentType<T>
组件类型
Returns
number
位索引
isRegistered()
staticisRegistered<T>(componentType):boolean
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:79
检查组件类型是否已注册
Type Parameters
T
T extends Component
Parameters
componentType
ComponentType<T>
组件类型
Returns
boolean
是否已注册
getTypeByBitIndex()
staticgetTypeByBitIndex(bitIndex):null|ComponentType<Component>
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:88
通过位索引获取组件类型
Parameters
bitIndex
number
位索引
Returns
null | ComponentType<Component>
组件类型构造函数或null
getRegisteredCount()
staticgetRegisteredCount():number
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:96
获取当前已注册的组件类型数量
Returns
number
已注册数量
getComponentType()
staticgetComponentType(componentName):null|Function
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:105
通过名称获取组件类型
Parameters
componentName
string
组件名称
Returns
null | Function
组件类型构造函数
getAllRegisteredTypes()
staticgetAllRegisteredTypes():Map<Function,number>
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:113
获取所有已注册的组件类型
Returns
Map<Function, number>
组件类型映射
getAllComponentNames()
staticgetAllComponentNames():Map<string,Function>
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:121
获取所有组件名称到类型的映射
Returns
Map<string, Function>
名称到类型的映射
getComponentId()
staticgetComponentId(componentName):undefined|number
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:130
通过名称获取组件类型ID
Parameters
componentName
string
组件名称
Returns
undefined | number
组件类型ID
registerComponentByName()
staticregisterComponentByName(componentName):number
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:139
注册组件类型(通过名称)
Parameters
componentName
string
组件名称
Returns
number
分配的组件ID
createSingleComponentMask()
staticcreateSingleComponentMask(componentName):BitMask64Data
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:154
创建单个组件的掩码
Parameters
componentName
string
组件名称
Returns
组件掩码
createComponentMask()
staticcreateComponentMask(componentNames):BitMask64Data
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:176
创建多个组件的掩码
Parameters
componentNames
string[]
组件名称数组
Returns
组合掩码
clearMaskCache()
staticclearMaskCache():void
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:200
清除掩码缓存
Returns
void
reset()
staticreset():void
Defined in: packages/core/src/ECS/Core/ComponentStorage/ComponentRegistry.ts:207
重置注册表(用于测试)
Returns
void