Skip to content

ECS Framework API v2.1.50


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

BitMask64Data

位掩码


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

BitMask64Data

组件掩码


createComponentMask()

static createComponentMask(componentNames): BitMask64Data

Defined in: ECS/Core/ComponentStorage/ComponentRegistry.ts:166

创建多个组件的掩码

Parameters

componentNames

string[]

组件名称数组

Returns

BitMask64Data

组合掩码


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

Released under the MIT License.