MCPcopy Create free account
hub / github.com/esengine/esengine / enhanceEventData

Method enhanceEventData

packages/core/src/ECS/Core/EventBus.ts:399–423  ·  view source on GitHub ↗

* 增强事件数据 * @param eventType 事件类型 * @param data 原始数据

(eventType: string, data: T)

Source from the content-addressed store, hash-verified

397 * @param data 原始数据
398 */
399 private enhanceEventData<T>(eventType: string, data: T): T & IEventData {
400 // 处理null或undefined数据
401 if (data === null || data === undefined) {
402 return {
403 timestamp: Date.now(),
404 eventId: `${eventType}_${++this.eventIdCounter}`,
405 source: 'EventBus'
406 } as T & IEventData;
407 }
408
409 const enhanced = data as T & IEventData;
410
411 // 如果数据还没有基础事件属性,添加它们
412 if (!enhanced.timestamp) {
413 enhanced.timestamp = Date.now();
414 }
415 if (!enhanced.eventId) {
416 enhanced.eventId = `${eventType}_${++this.eventIdCounter}`;
417 }
418 if (!enhanced.source) {
419 enhanced.source = 'EventBus';
420 }
421
422 return enhanced;
423 }
424
425 /**
426 * 转换EventStats为IEventStats

Callers 2

emitMethod · 0.95
emitAsyncMethod · 0.95

Calls 1

nowMethod · 0.80

Tested by

no test coverage detected