Skip to content

ECS Framework API v2.2.13


ECS Framework API / ComponentPoolManager

Class: ComponentPoolManager

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:144

全局组件池管理器

Methods

getInstance()

static getInstance(): ComponentPoolManager

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:154

Returns

ComponentPoolManager


registerPool()

registerPool<T>(componentName, createFn, resetFn?, maxSize?, minSize?): void

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:164

注册组件池

Type Parameters

T

T extends Component

Parameters

componentName

string

createFn

() => T

resetFn?

(component) => void

maxSize?

number

minSize?

number

Returns

void


acquireComponent()

acquireComponent<T>(componentName): null | T

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:183

获取组件实例

Type Parameters

T

T extends Component

Parameters

componentName

string

Returns

null | T


releaseComponent()

releaseComponent<T>(componentName, component): void

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:194

释放组件实例

Type Parameters

T

T extends Component

Parameters

componentName

string

component

T

Returns

void


update()

update(): void

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:231

自动清理(定期调用)

Returns

void


getHotComponents()

getHotComponents(threshold): string[]

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:255

获取热点组件列表

Parameters

threshold

number = 100

Returns

string[]


prewarmAll()

prewarmAll(count): void

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:264

预热所有池

Parameters

count

number = 100

Returns

void


clearAll()

clearAll(): void

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:273

清空所有池

Returns

void


reset()

reset(): void

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:282

重置管理器

Returns

void


getGlobalStats()

getGlobalStats(): object[]

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:290

获取全局统计信息

Returns

object[]


getPoolStats()

getPoolStats(): Map<string, { available: number; maxSize: number; }>

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:315

获取池统计信息

Returns

Map<string, { available: number; maxSize: number; }>


getPoolUtilization()

getPoolUtilization(): Map<string, { used: number; total: number; utilization: number; }>

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:329

获取池利用率信息

Returns

Map<string, { used: number; total: number; utilization: number; }>


getComponentUtilization()

getComponentUtilization(componentName): number

Defined in: packages/core/src/ECS/Core/ComponentPool.ts:349

获取指定组件的池利用率

Parameters

componentName

string

Returns

number

Released under the MIT License.