Skip to content

ECS Framework API v2.1.50


ECS Framework API / TypeSafeEventSystem

Class: TypeSafeEventSystem

Defined in: ECS/Core/EventSystem.ts:70

类型安全的高性能事件系统 支持同步/异步事件、优先级、批处理等功能

Constructors

Constructor

new TypeSafeEventSystem(): TypeSafeEventSystem

Returns

TypeSafeEventSystem

Methods

on()

on<T>(eventType, handler, config): string

Defined in: ECS/Core/EventSystem.ts:88

添加事件监听器

Type Parameters

T

T

Parameters

eventType

string

事件类型

handler

EventHandler<T>

事件处理器

config

EventListenerConfig = {}

监听器配置

Returns

string

监听器ID(用于移除)


once()

once<T>(eventType, handler, config): string

Defined in: ECS/Core/EventSystem.ts:103

添加一次性事件监听器

Type Parameters

T

T

Parameters

eventType

string

事件类型

handler

EventHandler<T>

事件处理器

config

EventListenerConfig = {}

监听器配置

Returns

string

监听器ID


onAsync()

onAsync<T>(eventType, handler, config): string

Defined in: ECS/Core/EventSystem.ts:118

添加异步事件监听器

Type Parameters

T

T

Parameters

eventType

string

事件类型

handler

AsyncEventHandler<T>

异步事件处理器

config

EventListenerConfig = {}

监听器配置

Returns

string

监听器ID


off()

off(eventType, listenerId): boolean

Defined in: ECS/Core/EventSystem.ts:132

移除事件监听器

Parameters

eventType

string

事件类型

listenerId

string

监听器ID

Returns

boolean

是否成功移除


offAll()

offAll(eventType): void

Defined in: ECS/Core/EventSystem.ts:154

移除指定事件类型的所有监听器

Parameters

eventType

string

事件类型

Returns

void


emit()

emit<T>(eventType, event): Promise<void>

Defined in: ECS/Core/EventSystem.ts:166

触发事件

Type Parameters

T

T

Parameters

eventType

string

事件类型

event

T

事件数据

Returns

Promise<void>

Promise(如果有异步监听器)


emitSync()

emitSync<T>(eventType, event): void

Defined in: ECS/Core/EventSystem.ts:184

同步触发事件(忽略异步监听器)

Type Parameters

T

T

Parameters

eventType

string

事件类型

event

T

事件数据

Returns

void


setBatchConfig()

setBatchConfig(eventType, config): void

Defined in: ECS/Core/EventSystem.ts:226

设置事件批处理配置

Parameters

eventType

string

事件类型

config

EventBatchConfig

批处理配置

Returns

void


flushBatch()

flushBatch(eventType): void

Defined in: ECS/Core/EventSystem.ts:234

立即处理指定事件类型的批处理队列

Parameters

eventType

string

事件类型

Returns

void


getStats()

getStats(eventType?): EventStats | Map<string, EventStats>

Defined in: ECS/Core/EventSystem.ts:257

获取事件统计信息

Parameters

eventType?

string

事件类型(可选)

Returns

EventStats | Map<string, EventStats>

统计信息


resetStats()

resetStats(eventType?): void

Defined in: ECS/Core/EventSystem.ts:268

重置统计信息

Parameters

eventType?

string

事件类型(可选,不指定则重置所有)

Returns

void


setEnabled()

setEnabled(enabled): void

Defined in: ECS/Core/EventSystem.ts:280

启用/禁用事件系统

Parameters

enabled

boolean

是否启用

Returns

void


hasListeners()

hasListeners(eventType): boolean

Defined in: ECS/Core/EventSystem.ts:289

检查是否有指定事件类型的监听器

Parameters

eventType

string

事件类型

Returns

boolean

是否有监听器


getListenerCount()

getListenerCount(eventType): number

Defined in: ECS/Core/EventSystem.ts:299

获取指定事件类型的监听器数量

Parameters

eventType

string

事件类型

Returns

number

监听器数量


clear()

clear(): void

Defined in: ECS/Core/EventSystem.ts:307

清空所有事件监听器和数据

Returns

void


setMaxListeners()

setMaxListeners(max): void

Defined in: ECS/Core/EventSystem.ts:317

设置每个事件类型的最大监听器数量

Parameters

max

number

最大数量

Returns

void

Released under the MIT License.