ECS Framework API / ComponentRegistry
Class: ComponentRegistry
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:15
组件注册表 管理组件类型的位掩码分配
Constructors
Constructor
new ComponentRegistry():
ComponentRegistry
Returns
ComponentRegistry
Properties
_logger
protected
readonly
static
_logger:ILogger
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:16
Methods
register()
static
register<T
>(componentType
):number
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:29
注册组件类型并分配位掩码
Type Parameters
T
T
extends Component
Parameters
componentType
ComponentType
<T
>
组件类型
Returns
number
分配的位索引
getBitMask()
static
getBitMask<T
>(componentType
):BitMask64Data
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:54
获取组件类型的位掩码
Type Parameters
T
T
extends Component
Parameters
componentType
ComponentType
<T
>
组件类型
Returns
位掩码
getBitIndex()
static
getBitIndex<T
>(componentType
):number
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:68
获取组件类型的位索引
Type Parameters
T
T
extends Component
Parameters
componentType
ComponentType
<T
>
组件类型
Returns
number
位索引
isRegistered()
static
isRegistered<T
>(componentType
):boolean
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:82
检查组件类型是否已注册
Type Parameters
T
T
extends Component
Parameters
componentType
ComponentType
<T
>
组件类型
Returns
boolean
是否已注册
getComponentType()
static
getComponentType(componentName
):null
|Function
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:91
通过名称获取组件类型
Parameters
componentName
string
组件名称
Returns
null
| Function
组件类型构造函数
getAllRegisteredTypes()
static
getAllRegisteredTypes():Map
<Function
,number
>
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:99
获取所有已注册的组件类型
Returns
Map
<Function
, number
>
组件类型映射
getAllComponentNames()
static
getAllComponentNames():Map
<string
,Function
>
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:107
获取所有组件名称到类型的映射
Returns
Map
<string
, Function
>
名称到类型的映射
getComponentId()
static
getComponentId(componentName
):undefined
|number
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:116
通过名称获取组件类型ID
Parameters
componentName
string
组件名称
Returns
undefined
| number
组件类型ID
registerComponentByName()
static
registerComponentByName(componentName
):number
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:125
注册组件类型(通过名称)
Parameters
componentName
string
组件名称
Returns
number
分配的组件ID
createSingleComponentMask()
static
createSingleComponentMask(componentName
):BitMask64Data
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:144
创建单个组件的掩码
Parameters
componentName
string
组件名称
Returns
组件掩码
createComponentMask()
static
createComponentMask(componentNames
):BitMask64Data
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:166
创建多个组件的掩码
Parameters
componentNames
string
[]
组件名称数组
Returns
组合掩码
clearMaskCache()
static
clearMaskCache():void
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:190
清除掩码缓存
Returns
void
reset()
static
reset():void
Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:197
重置注册表(用于测试)
Returns
void