@esengine/ecs-framework 2.1.30 → 2.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/index.cjs +2 -0
  2. package/index.cjs.map +1 -0
  3. package/index.d.ts +6357 -0
  4. package/index.mjs +2 -0
  5. package/index.mjs.map +1 -0
  6. package/package.json +24 -50
  7. package/bin/Core.d.ts +0 -279
  8. package/bin/Core.d.ts.map +0 -1
  9. package/bin/Core.js +0 -400
  10. package/bin/Core.js.map +0 -1
  11. package/bin/ECS/Component.d.ts +0 -120
  12. package/bin/ECS/Component.d.ts.map +0 -1
  13. package/bin/ECS/Component.js +0 -129
  14. package/bin/ECS/Component.js.map +0 -1
  15. package/bin/ECS/Components/IUpdatable.d.ts +0 -22
  16. package/bin/ECS/Components/IUpdatable.d.ts.map +0 -1
  17. package/bin/ECS/Components/IUpdatable.js +0 -17
  18. package/bin/ECS/Components/IUpdatable.js.map +0 -1
  19. package/bin/ECS/Components/SceneComponent.d.ts +0 -40
  20. package/bin/ECS/Components/SceneComponent.d.ts.map +0 -1
  21. package/bin/ECS/Components/SceneComponent.js +0 -57
  22. package/bin/ECS/Components/SceneComponent.js.map +0 -1
  23. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -100
  24. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  25. package/bin/ECS/Core/ArchetypeSystem.js +0 -193
  26. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  27. package/bin/ECS/Core/ComponentIndex.d.ts +0 -151
  28. package/bin/ECS/Core/ComponentIndex.d.ts.map +0 -1
  29. package/bin/ECS/Core/ComponentIndex.js +0 -405
  30. package/bin/ECS/Core/ComponentIndex.js.map +0 -1
  31. package/bin/ECS/Core/ComponentPool.d.ts +0 -88
  32. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  33. package/bin/ECS/Core/ComponentPool.js +0 -159
  34. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  35. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -92
  36. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  37. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -167
  38. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  39. package/bin/ECS/Core/ComponentStorage.d.ts +0 -233
  40. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  41. package/bin/ECS/Core/ComponentStorage.js +0 -463
  42. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  43. package/bin/ECS/Core/DirtyTrackingSystem.d.ts +0 -197
  44. package/bin/ECS/Core/DirtyTrackingSystem.d.ts.map +0 -1
  45. package/bin/ECS/Core/DirtyTrackingSystem.js +0 -297
  46. package/bin/ECS/Core/DirtyTrackingSystem.js.map +0 -1
  47. package/bin/ECS/Core/EntityManager.d.ts +0 -379
  48. package/bin/ECS/Core/EntityManager.d.ts.map +0 -1
  49. package/bin/ECS/Core/EntityManager.js +0 -686
  50. package/bin/ECS/Core/EntityManager.js.map +0 -1
  51. package/bin/ECS/Core/EventBus.d.ts +0 -218
  52. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  53. package/bin/ECS/Core/EventBus.js +0 -402
  54. package/bin/ECS/Core/EventBus.js.map +0 -1
  55. package/bin/ECS/Core/EventSystem.d.ts +0 -237
  56. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  57. package/bin/ECS/Core/EventSystem.js +0 -478
  58. package/bin/ECS/Core/EventSystem.js.map +0 -1
  59. package/bin/ECS/Core/Events/index.d.ts +0 -3
  60. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  61. package/bin/ECS/Core/Events/index.js +0 -3
  62. package/bin/ECS/Core/Events/index.js.map +0 -1
  63. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  64. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  65. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  66. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  67. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  68. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  69. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  70. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  71. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  72. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  73. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  74. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  75. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  76. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  77. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -174
  78. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  79. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  80. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  81. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  82. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  83. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  84. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  85. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  86. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  87. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  88. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  89. package/bin/ECS/Core/FluentAPI.js +0 -3
  90. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  91. package/bin/ECS/Core/Performance/index.d.ts +0 -4
  92. package/bin/ECS/Core/Performance/index.d.ts.map +0 -1
  93. package/bin/ECS/Core/Performance/index.js +0 -4
  94. package/bin/ECS/Core/Performance/index.js.map +0 -1
  95. package/bin/ECS/Core/Query/index.d.ts +0 -4
  96. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  97. package/bin/ECS/Core/Query/index.js +0 -4
  98. package/bin/ECS/Core/Query/index.js.map +0 -1
  99. package/bin/ECS/Core/QuerySystem.d.ts +0 -438
  100. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  101. package/bin/ECS/Core/QuerySystem.js +0 -974
  102. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  103. package/bin/ECS/Core/SoAStorage.d.ts +0 -97
  104. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  105. package/bin/ECS/Core/SoAStorage.js +0 -548
  106. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  107. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  108. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  109. package/bin/ECS/Core/Storage/index.js +0 -4
  110. package/bin/ECS/Core/Storage/index.js.map +0 -1
  111. package/bin/ECS/CoreEvents.d.ts +0 -131
  112. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  113. package/bin/ECS/CoreEvents.js +0 -163
  114. package/bin/ECS/CoreEvents.js.map +0 -1
  115. package/bin/ECS/Entity.d.ts +0 -455
  116. package/bin/ECS/Entity.d.ts.map +0 -1
  117. package/bin/ECS/Entity.js +0 -837
  118. package/bin/ECS/Entity.js.map +0 -1
  119. package/bin/ECS/Scene.d.ts +0 -225
  120. package/bin/ECS/Scene.d.ts.map +0 -1
  121. package/bin/ECS/Scene.js +0 -325
  122. package/bin/ECS/Scene.js.map +0 -1
  123. package/bin/ECS/Systems/EntitySystem.d.ts +0 -200
  124. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  125. package/bin/ECS/Systems/EntitySystem.js +0 -431
  126. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  127. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  128. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  129. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  130. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  131. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  132. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  133. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  134. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  135. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  136. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  137. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  138. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  139. package/bin/ECS/Systems/index.d.ts +0 -5
  140. package/bin/ECS/Systems/index.d.ts.map +0 -1
  141. package/bin/ECS/Systems/index.js +0 -6
  142. package/bin/ECS/Systems/index.js.map +0 -1
  143. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -164
  144. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  145. package/bin/ECS/Utils/BigIntCompatibility.js +0 -578
  146. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  147. package/bin/ECS/Utils/Bits.d.ts +0 -163
  148. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  149. package/bin/ECS/Utils/Bits.js +0 -286
  150. package/bin/ECS/Utils/Bits.js.map +0 -1
  151. package/bin/ECS/Utils/ComponentTypeManager.d.ts +0 -50
  152. package/bin/ECS/Utils/ComponentTypeManager.d.ts.map +0 -1
  153. package/bin/ECS/Utils/ComponentTypeManager.js +0 -84
  154. package/bin/ECS/Utils/ComponentTypeManager.js.map +0 -1
  155. package/bin/ECS/Utils/EntityList.d.ts +0 -108
  156. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  157. package/bin/ECS/Utils/EntityList.js +0 -262
  158. package/bin/ECS/Utils/EntityList.js.map +0 -1
  159. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  160. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  161. package/bin/ECS/Utils/EntityProcessorList.js +0 -102
  162. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  163. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  164. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  165. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  166. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  167. package/bin/ECS/Utils/Matcher.d.ts +0 -143
  168. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  169. package/bin/ECS/Utils/Matcher.js +0 -249
  170. package/bin/ECS/Utils/Matcher.js.map +0 -1
  171. package/bin/ECS/Utils/index.d.ts +0 -8
  172. package/bin/ECS/Utils/index.d.ts.map +0 -1
  173. package/bin/ECS/Utils/index.js +0 -9
  174. package/bin/ECS/Utils/index.js.map +0 -1
  175. package/bin/ECS/index.d.ts +0 -12
  176. package/bin/ECS/index.d.ts.map +0 -1
  177. package/bin/ECS/index.js +0 -12
  178. package/bin/ECS/index.js.map +0 -1
  179. package/bin/Types/index.d.ts +0 -471
  180. package/bin/Types/index.d.ts.map +0 -1
  181. package/bin/Types/index.js +0 -5
  182. package/bin/Types/index.js.map +0 -1
  183. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -28
  184. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  185. package/bin/Utils/Debug/ComponentDataCollector.js +0 -248
  186. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  187. package/bin/Utils/Debug/DebugDataFormatter.d.ts +0 -22
  188. package/bin/Utils/Debug/DebugDataFormatter.d.ts.map +0 -1
  189. package/bin/Utils/Debug/DebugDataFormatter.js +0 -117
  190. package/bin/Utils/Debug/DebugDataFormatter.js.map +0 -1
  191. package/bin/Utils/Debug/DebugManager.d.ts +0 -104
  192. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  193. package/bin/Utils/Debug/DebugManager.js +0 -647
  194. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  195. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -92
  196. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  197. package/bin/Utils/Debug/EntityDataCollector.js +0 -864
  198. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  199. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -32
  200. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  201. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -217
  202. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  203. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -16
  204. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  205. package/bin/Utils/Debug/SceneDataCollector.js +0 -46
  206. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  207. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -11
  208. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  209. package/bin/Utils/Debug/SystemDataCollector.js +0 -59
  210. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  211. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -59
  212. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  213. package/bin/Utils/Debug/WebSocketManager.js +0 -148
  214. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  215. package/bin/Utils/Debug/index.d.ts +0 -8
  216. package/bin/Utils/Debug/index.d.ts.map +0 -1
  217. package/bin/Utils/Debug/index.js +0 -8
  218. package/bin/Utils/Debug/index.js.map +0 -1
  219. package/bin/Utils/Emitter.d.ts +0 -43
  220. package/bin/Utils/Emitter.d.ts.map +0 -1
  221. package/bin/Utils/Emitter.js +0 -69
  222. package/bin/Utils/Emitter.js.map +0 -1
  223. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  224. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  225. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  226. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  227. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  228. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  229. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  230. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  231. package/bin/Utils/Extensions/index.d.ts +0 -3
  232. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  233. package/bin/Utils/Extensions/index.js +0 -4
  234. package/bin/Utils/Extensions/index.js.map +0 -1
  235. package/bin/Utils/GlobalManager.d.ts +0 -32
  236. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  237. package/bin/Utils/GlobalManager.js +0 -53
  238. package/bin/Utils/GlobalManager.js.map +0 -1
  239. package/bin/Utils/Logger.d.ts +0 -156
  240. package/bin/Utils/Logger.d.ts.map +0 -1
  241. package/bin/Utils/Logger.js +0 -256
  242. package/bin/Utils/Logger.js.map +0 -1
  243. package/bin/Utils/PerformanceMonitor.d.ts +0 -211
  244. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  245. package/bin/Utils/PerformanceMonitor.js +0 -270
  246. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  247. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  248. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  249. package/bin/Utils/Pool/IPoolable.js +0 -2
  250. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  251. package/bin/Utils/Pool/Pool.d.ts +0 -109
  252. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  253. package/bin/Utils/Pool/Pool.js +0 -238
  254. package/bin/Utils/Pool/Pool.js.map +0 -1
  255. package/bin/Utils/Pool/PoolManager.d.ts +0 -91
  256. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  257. package/bin/Utils/Pool/PoolManager.js +0 -197
  258. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  259. package/bin/Utils/Pool/index.d.ts +0 -4
  260. package/bin/Utils/Pool/index.d.ts.map +0 -1
  261. package/bin/Utils/Pool/index.js +0 -4
  262. package/bin/Utils/Pool/index.js.map +0 -1
  263. package/bin/Utils/Time.d.ts +0 -47
  264. package/bin/Utils/Time.d.ts.map +0 -1
  265. package/bin/Utils/Time.js +0 -64
  266. package/bin/Utils/Time.js.map +0 -1
  267. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  268. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  269. package/bin/Utils/Timers/ITimer.js +0 -2
  270. package/bin/Utils/Timers/ITimer.js.map +0 -1
  271. package/bin/Utils/Timers/Timer.d.ts +0 -30
  272. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  273. package/bin/Utils/Timers/Timer.js +0 -58
  274. package/bin/Utils/Timers/Timer.js.map +0 -1
  275. package/bin/Utils/Timers/TimerManager.d.ts +0 -19
  276. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  277. package/bin/Utils/Timers/TimerManager.js +0 -33
  278. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  279. package/bin/Utils/index.d.ts +0 -9
  280. package/bin/Utils/index.d.ts.map +0 -1
  281. package/bin/Utils/index.js +0 -9
  282. package/bin/Utils/index.js.map +0 -1
  283. package/bin/index.d.ts +0 -16
  284. package/bin/index.d.ts.map +0 -1
  285. package/bin/index.js +0 -19
  286. package/bin/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityManager.js","sourceRoot":"","sources":["../../../src/ECS/Core/EntityManager.ts"],"names":[],"mappings":"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"}
@@ -1,218 +0,0 @@
1
- import { IEventBus, IEventListenerConfig, IEventStats, IEntityEventData, IComponentEventData, ISystemEventData, ISceneEventData, IPerformanceEventData } from '../../Types';
2
- /**
3
- * 增强的事件总线实现
4
- * 基于TypeSafeEventSystem,提供类型安全的事件发布订阅机制
5
- */
6
- export declare class EventBus implements IEventBus {
7
- private static readonly _logger;
8
- private eventSystem;
9
- private eventIdCounter;
10
- private isDebugMode;
11
- constructor(debugMode?: boolean);
12
- /**
13
- * 发射事件
14
- * @param eventType 事件类型
15
- * @param data 事件数据
16
- */
17
- emit<T>(eventType: string, data: T): void;
18
- /**
19
- * 异步发射事件
20
- * @param eventType 事件类型
21
- * @param data 事件数据
22
- */
23
- emitAsync<T>(eventType: string, data: T): Promise<void>;
24
- /**
25
- * 监听事件
26
- * @param eventType 事件类型
27
- * @param handler 事件处理器
28
- * @param config 监听器配置
29
- * @returns 监听器ID
30
- */
31
- on<T>(eventType: string, handler: (data: T) => void, config?: IEventListenerConfig): string;
32
- /**
33
- * 监听事件(一次性)
34
- * @param eventType 事件类型
35
- * @param handler 事件处理器
36
- * @param config 监听器配置
37
- * @returns 监听器ID
38
- */
39
- once<T>(eventType: string, handler: (data: T) => void, config?: IEventListenerConfig): string;
40
- /**
41
- * 异步监听事件
42
- * @param eventType 事件类型
43
- * @param handler 异步事件处理器
44
- * @param config 监听器配置
45
- * @returns 监听器ID
46
- */
47
- onAsync<T>(eventType: string, handler: (data: T) => Promise<void>, config?: IEventListenerConfig): string;
48
- /**
49
- * 移除事件监听器
50
- * @param eventType 事件类型
51
- * @param listenerId 监听器ID
52
- */
53
- off(eventType: string, listenerId: string): boolean;
54
- /**
55
- * 移除指定事件类型的所有监听器
56
- * @param eventType 事件类型
57
- */
58
- offAll(eventType: string): void;
59
- /**
60
- * 检查是否有指定事件的监听器
61
- * @param eventType 事件类型
62
- */
63
- hasListeners(eventType: string): boolean;
64
- /**
65
- * 获取事件统计信息
66
- * @param eventType 事件类型(可选)
67
- */
68
- getStats(eventType?: string): IEventStats | Map<string, IEventStats>;
69
- /**
70
- * 清空所有监听器
71
- */
72
- clear(): void;
73
- /**
74
- * 启用或禁用事件系统
75
- * @param enabled 是否启用
76
- */
77
- setEnabled(enabled: boolean): void;
78
- /**
79
- * 设置调试模式
80
- * @param debug 是否启用调试
81
- */
82
- setDebugMode(debug: boolean): void;
83
- /**
84
- * 设置最大监听器数量
85
- * @param max 最大数量
86
- */
87
- setMaxListeners(max: number): void;
88
- /**
89
- * 获取监听器数量
90
- * @param eventType 事件类型
91
- */
92
- getListenerCount(eventType: string): number;
93
- /**
94
- * 设置事件批处理配置
95
- * @param eventType 事件类型
96
- * @param batchSize 批处理大小
97
- * @param delay 延迟时间(毫秒)
98
- */
99
- setBatchConfig(eventType: string, batchSize: number, delay: number): void;
100
- /**
101
- * 刷新指定事件的批处理队列
102
- * @param eventType 事件类型
103
- */
104
- flushBatch(eventType: string): void;
105
- /**
106
- * 重置事件统计
107
- * @param eventType 事件类型(可选)
108
- */
109
- resetStats(eventType?: string): void;
110
- /**
111
- * 发射实体创建事件
112
- * @param entityData 实体事件数据
113
- */
114
- emitEntityCreated(entityData: IEntityEventData): void;
115
- /**
116
- * 发射实体销毁事件
117
- * @param entityData 实体事件数据
118
- */
119
- emitEntityDestroyed(entityData: IEntityEventData): void;
120
- /**
121
- * 发射组件添加事件
122
- * @param componentData 组件事件数据
123
- */
124
- emitComponentAdded(componentData: IComponentEventData): void;
125
- /**
126
- * 发射组件移除事件
127
- * @param componentData 组件事件数据
128
- */
129
- emitComponentRemoved(componentData: IComponentEventData): void;
130
- /**
131
- * 发射系统添加事件
132
- * @param systemData 系统事件数据
133
- */
134
- emitSystemAdded(systemData: ISystemEventData): void;
135
- /**
136
- * 发射系统移除事件
137
- * @param systemData 系统事件数据
138
- */
139
- emitSystemRemoved(systemData: ISystemEventData): void;
140
- /**
141
- * 发射场景变化事件
142
- * @param sceneData 场景事件数据
143
- */
144
- emitSceneChanged(sceneData: ISceneEventData): void;
145
- /**
146
- * 发射性能警告事件
147
- * @param performanceData 性能事件数据
148
- */
149
- emitPerformanceWarning(performanceData: IPerformanceEventData): void;
150
- /**
151
- * 监听实体创建事件
152
- * @param handler 事件处理器
153
- * @param config 监听器配置
154
- */
155
- onEntityCreated(handler: (data: IEntityEventData) => void, config?: IEventListenerConfig): string;
156
- /**
157
- * 监听组件添加事件
158
- * @param handler 事件处理器
159
- * @param config 监听器配置
160
- */
161
- onComponentAdded(handler: (data: IComponentEventData) => void, config?: IEventListenerConfig): string;
162
- /**
163
- * 监听系统错误事件
164
- * @param handler 事件处理器
165
- * @param config 监听器配置
166
- */
167
- onSystemError(handler: (data: ISystemEventData) => void, config?: IEventListenerConfig): string;
168
- /**
169
- * 监听性能警告事件
170
- * @param handler 事件处理器
171
- * @param config 监听器配置
172
- */
173
- onPerformanceWarning(handler: (data: IPerformanceEventData) => void, config?: IEventListenerConfig): string;
174
- /**
175
- * 验证事件类型
176
- * @param eventType 事件类型
177
- */
178
- private validateEventType;
179
- /**
180
- * 增强事件数据
181
- * @param eventType 事件类型
182
- * @param data 原始数据
183
- */
184
- private enhanceEventData;
185
- /**
186
- * 转换EventStats为IEventStats
187
- * @param stats EventStats实例
188
- */
189
- private convertEventStats;
190
- }
191
- /**
192
- * 全局事件总线实例
193
- * 提供全局访问的事件总线
194
- */
195
- export declare class GlobalEventBus {
196
- private static instance;
197
- /**
198
- * 获取全局事件总线实例
199
- * @param debugMode 是否启用调试模式
200
- */
201
- static getInstance(debugMode?: boolean): EventBus;
202
- /**
203
- * 重置全局事件总线实例
204
- * @param debugMode 是否启用调试模式
205
- */
206
- static reset(debugMode?: boolean): EventBus;
207
- }
208
- /**
209
- * 事件装饰器工厂
210
- * 用于自动注册事件监听器
211
- */
212
- export declare function EventHandler(eventType: string, config?: IEventListenerConfig): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
213
- /**
214
- * 异步事件装饰器工厂
215
- * 用于自动注册异步事件监听器
216
- */
217
- export declare function AsyncEventHandler(eventType: string, config?: IEventListenerConfig): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
218
- //# sourceMappingURL=EventBus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../../src/ECS/Core/EventBus.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,WAAW,EAEX,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACxB,MAAM,aAAa,CAAC;AAcrB;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAC3D,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,SAAS,GAAE,OAAe;IAKtC;;;;OAIG;IACI,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAahD;;;;OAIG;IACU,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE;;;;;;OAMG;IACI,EAAE,CAAC,CAAC,EACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC1B,MAAM,GAAE,oBAAyB,GAClC,MAAM;IAiBT;;;;;;OAMG;IACI,IAAI,CAAC,CAAC,EACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC1B,MAAM,GAAE,oBAAyB,GAClC,MAAM;IAIT;;;;;;OAMG;IACI,OAAO,CAAC,CAAC,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EACnC,MAAM,GAAE,oBAAyB,GAClC,MAAM;IAIT;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAQ1D;;;OAGG;IACI,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQtC;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/C;;;OAGG;IACI,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAe3E;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;;OAGG;IACI,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIzC;;;OAGG;IACI,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzC;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;;OAKG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhF;;;OAGG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C;;;OAGG;IACI,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3C;;;OAGG;IACI,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAI5D;;;OAGG;IACI,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAI9D;;;OAGG;IACI,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI;IAInE;;;OAGG;IACI,oBAAoB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI;IAIrE;;;OAGG;IACI,eAAe,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAI1D;;;OAGG;IACI,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAI5D;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAIzD;;;OAGG;IACI,sBAAsB,CAAC,eAAe,EAAE,qBAAqB,GAAG,IAAI;IAM3E;;;;OAIG;IACI,eAAe,CAClB,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,EACzC,MAAM,CAAC,EAAE,oBAAoB,GAC9B,MAAM;IAIT;;;;OAIG;IACI,gBAAgB,CACnB,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,EAC5C,MAAM,CAAC,EAAE,oBAAoB,GAC9B,MAAM;IAIT;;;;OAIG;IACI,aAAa,CAChB,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,EACzC,MAAM,CAAC,EAAE,oBAAoB,GAC9B,MAAM;IAIT;;;;OAIG;IACI,oBAAoB,CACvB,OAAO,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,EAC9C,MAAM,CAAC,EAAE,oBAAoB,GAC9B,MAAM;IAMT;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAU5B;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAElC;;;OAGG;WACW,WAAW,CAAC,SAAS,GAAE,OAAe,GAAG,QAAQ;IAO/D;;;OAGG;WACW,KAAK,CAAC,SAAS,GAAE,OAAe,GAAG,QAAQ;CAO5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,oBAAyB,IAC5D,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBAapF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,oBAAyB,IACjE,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBAYpF"}
@@ -1,402 +0,0 @@
1
- import { createLogger } from '../../Utils/Logger';
2
- import { TypeSafeEventSystem } from './EventSystem';
3
- import { ECSEventType, EventPriority, EventTypeValidator } from '../CoreEvents';
4
- /**
5
- * 增强的事件总线实现
6
- * 基于TypeSafeEventSystem,提供类型安全的事件发布订阅机制
7
- */
8
- export class EventBus {
9
- constructor(debugMode = false) {
10
- this.eventIdCounter = 0;
11
- this.isDebugMode = false;
12
- this.eventSystem = new TypeSafeEventSystem();
13
- this.isDebugMode = debugMode;
14
- }
15
- /**
16
- * 发射事件
17
- * @param eventType 事件类型
18
- * @param data 事件数据
19
- */
20
- emit(eventType, data) {
21
- this.validateEventType(eventType);
22
- // 增强事件数据
23
- const enhancedData = this.enhanceEventData(eventType, data);
24
- if (this.isDebugMode) {
25
- EventBus._logger.info(`发射事件: ${eventType}`, enhancedData);
26
- }
27
- this.eventSystem.emitSync(eventType, enhancedData);
28
- }
29
- /**
30
- * 异步发射事件
31
- * @param eventType 事件类型
32
- * @param data 事件数据
33
- */
34
- async emitAsync(eventType, data) {
35
- this.validateEventType(eventType);
36
- // 增强事件数据
37
- const enhancedData = this.enhanceEventData(eventType, data);
38
- if (this.isDebugMode) {
39
- EventBus._logger.info(`发射异步事件: ${eventType}`, enhancedData);
40
- }
41
- await this.eventSystem.emit(eventType, enhancedData);
42
- }
43
- /**
44
- * 监听事件
45
- * @param eventType 事件类型
46
- * @param handler 事件处理器
47
- * @param config 监听器配置
48
- * @returns 监听器ID
49
- */
50
- on(eventType, handler, config = {}) {
51
- this.validateEventType(eventType);
52
- const eventConfig = {
53
- once: config.once || false,
54
- priority: config.priority || EventPriority.NORMAL,
55
- async: config.async || false,
56
- context: config.context
57
- };
58
- if (this.isDebugMode) {
59
- EventBus._logger.info(`添加监听器: ${eventType}`, eventConfig);
60
- }
61
- return this.eventSystem.on(eventType, handler, eventConfig);
62
- }
63
- /**
64
- * 监听事件(一次性)
65
- * @param eventType 事件类型
66
- * @param handler 事件处理器
67
- * @param config 监听器配置
68
- * @returns 监听器ID
69
- */
70
- once(eventType, handler, config = {}) {
71
- return this.on(eventType, handler, { ...config, once: true });
72
- }
73
- /**
74
- * 异步监听事件
75
- * @param eventType 事件类型
76
- * @param handler 异步事件处理器
77
- * @param config 监听器配置
78
- * @returns 监听器ID
79
- */
80
- onAsync(eventType, handler, config = {}) {
81
- return this.on(eventType, handler, { ...config, async: true });
82
- }
83
- /**
84
- * 移除事件监听器
85
- * @param eventType 事件类型
86
- * @param listenerId 监听器ID
87
- */
88
- off(eventType, listenerId) {
89
- if (this.isDebugMode) {
90
- EventBus._logger.info(`移除监听器: ${listenerId} 事件: ${eventType}`);
91
- }
92
- return this.eventSystem.off(eventType, listenerId);
93
- }
94
- /**
95
- * 移除指定事件类型的所有监听器
96
- * @param eventType 事件类型
97
- */
98
- offAll(eventType) {
99
- if (this.isDebugMode) {
100
- EventBus._logger.info(`移除所有监听器: ${eventType}`);
101
- }
102
- this.eventSystem.offAll(eventType);
103
- }
104
- /**
105
- * 检查是否有指定事件的监听器
106
- * @param eventType 事件类型
107
- */
108
- hasListeners(eventType) {
109
- return this.eventSystem.hasListeners(eventType);
110
- }
111
- /**
112
- * 获取事件统计信息
113
- * @param eventType 事件类型(可选)
114
- */
115
- getStats(eventType) {
116
- const stats = this.eventSystem.getStats(eventType);
117
- if (stats instanceof Map) {
118
- // 转换Map中的每个EventStats为IEventStats
119
- const result = new Map();
120
- stats.forEach((stat, key) => {
121
- result.set(key, this.convertEventStats(stat));
122
- });
123
- return result;
124
- }
125
- else {
126
- return this.convertEventStats(stats);
127
- }
128
- }
129
- /**
130
- * 清空所有监听器
131
- */
132
- clear() {
133
- if (this.isDebugMode) {
134
- EventBus._logger.info('清空所有监听器');
135
- }
136
- this.eventSystem.clear();
137
- }
138
- /**
139
- * 启用或禁用事件系统
140
- * @param enabled 是否启用
141
- */
142
- setEnabled(enabled) {
143
- this.eventSystem.setEnabled(enabled);
144
- }
145
- /**
146
- * 设置调试模式
147
- * @param debug 是否启用调试
148
- */
149
- setDebugMode(debug) {
150
- this.isDebugMode = debug;
151
- }
152
- /**
153
- * 设置最大监听器数量
154
- * @param max 最大数量
155
- */
156
- setMaxListeners(max) {
157
- this.eventSystem.setMaxListeners(max);
158
- }
159
- /**
160
- * 获取监听器数量
161
- * @param eventType 事件类型
162
- */
163
- getListenerCount(eventType) {
164
- return this.eventSystem.getListenerCount(eventType);
165
- }
166
- /**
167
- * 设置事件批处理配置
168
- * @param eventType 事件类型
169
- * @param batchSize 批处理大小
170
- * @param delay 延迟时间(毫秒)
171
- */
172
- setBatchConfig(eventType, batchSize, delay) {
173
- this.eventSystem.setBatchConfig(eventType, {
174
- batchSize,
175
- delay,
176
- enabled: true
177
- });
178
- }
179
- /**
180
- * 刷新指定事件的批处理队列
181
- * @param eventType 事件类型
182
- */
183
- flushBatch(eventType) {
184
- this.eventSystem.flushBatch(eventType);
185
- }
186
- /**
187
- * 重置事件统计
188
- * @param eventType 事件类型(可选)
189
- */
190
- resetStats(eventType) {
191
- this.eventSystem.resetStats(eventType);
192
- }
193
- // 便捷方法:发射预定义的ECS事件
194
- /**
195
- * 发射实体创建事件
196
- * @param entityData 实体事件数据
197
- */
198
- emitEntityCreated(entityData) {
199
- this.emit(ECSEventType.ENTITY_CREATED, entityData);
200
- }
201
- /**
202
- * 发射实体销毁事件
203
- * @param entityData 实体事件数据
204
- */
205
- emitEntityDestroyed(entityData) {
206
- this.emit(ECSEventType.ENTITY_DESTROYED, entityData);
207
- }
208
- /**
209
- * 发射组件添加事件
210
- * @param componentData 组件事件数据
211
- */
212
- emitComponentAdded(componentData) {
213
- this.emit(ECSEventType.COMPONENT_ADDED, componentData);
214
- }
215
- /**
216
- * 发射组件移除事件
217
- * @param componentData 组件事件数据
218
- */
219
- emitComponentRemoved(componentData) {
220
- this.emit(ECSEventType.COMPONENT_REMOVED, componentData);
221
- }
222
- /**
223
- * 发射系统添加事件
224
- * @param systemData 系统事件数据
225
- */
226
- emitSystemAdded(systemData) {
227
- this.emit(ECSEventType.SYSTEM_ADDED, systemData);
228
- }
229
- /**
230
- * 发射系统移除事件
231
- * @param systemData 系统事件数据
232
- */
233
- emitSystemRemoved(systemData) {
234
- this.emit(ECSEventType.SYSTEM_REMOVED, systemData);
235
- }
236
- /**
237
- * 发射场景变化事件
238
- * @param sceneData 场景事件数据
239
- */
240
- emitSceneChanged(sceneData) {
241
- this.emit(ECSEventType.SCENE_ACTIVATED, sceneData);
242
- }
243
- /**
244
- * 发射性能警告事件
245
- * @param performanceData 性能事件数据
246
- */
247
- emitPerformanceWarning(performanceData) {
248
- this.emit(ECSEventType.PERFORMANCE_WARNING, performanceData);
249
- }
250
- // 便捷方法:监听预定义的ECS事件
251
- /**
252
- * 监听实体创建事件
253
- * @param handler 事件处理器
254
- * @param config 监听器配置
255
- */
256
- onEntityCreated(handler, config) {
257
- return this.on(ECSEventType.ENTITY_CREATED, handler, config);
258
- }
259
- /**
260
- * 监听组件添加事件
261
- * @param handler 事件处理器
262
- * @param config 监听器配置
263
- */
264
- onComponentAdded(handler, config) {
265
- return this.on(ECSEventType.COMPONENT_ADDED, handler, config);
266
- }
267
- /**
268
- * 监听系统错误事件
269
- * @param handler 事件处理器
270
- * @param config 监听器配置
271
- */
272
- onSystemError(handler, config) {
273
- return this.on(ECSEventType.SYSTEM_ERROR, handler, config);
274
- }
275
- /**
276
- * 监听性能警告事件
277
- * @param handler 事件处理器
278
- * @param config 监听器配置
279
- */
280
- onPerformanceWarning(handler, config) {
281
- return this.on(ECSEventType.PERFORMANCE_WARNING, handler, config);
282
- }
283
- // 私有方法
284
- /**
285
- * 验证事件类型
286
- * @param eventType 事件类型
287
- */
288
- validateEventType(eventType) {
289
- if (!EventTypeValidator.isValid(eventType)) {
290
- if (this.isDebugMode) {
291
- EventBus._logger.warn(`未知事件类型: ${eventType}`);
292
- }
293
- // 在调试模式下添加自定义事件类型
294
- if (this.isDebugMode) {
295
- EventTypeValidator.addCustomType(eventType);
296
- }
297
- }
298
- }
299
- /**
300
- * 增强事件数据
301
- * @param eventType 事件类型
302
- * @param data 原始数据
303
- */
304
- enhanceEventData(eventType, data) {
305
- // 处理null或undefined数据
306
- if (data === null || data === undefined) {
307
- return {
308
- timestamp: Date.now(),
309
- eventId: `${eventType}_${++this.eventIdCounter}`,
310
- source: 'EventBus'
311
- };
312
- }
313
- const enhanced = data;
314
- // 如果数据还没有基础事件属性,添加它们
315
- if (!enhanced.timestamp) {
316
- enhanced.timestamp = Date.now();
317
- }
318
- if (!enhanced.eventId) {
319
- enhanced.eventId = `${eventType}_${++this.eventIdCounter}`;
320
- }
321
- if (!enhanced.source) {
322
- enhanced.source = 'EventBus';
323
- }
324
- return enhanced;
325
- }
326
- /**
327
- * 转换EventStats为IEventStats
328
- * @param stats EventStats实例
329
- */
330
- convertEventStats(stats) {
331
- return {
332
- eventType: stats.eventType,
333
- listenerCount: stats.listenerCount,
334
- triggerCount: stats.triggerCount,
335
- totalExecutionTime: stats.totalExecutionTime,
336
- averageExecutionTime: stats.averageExecutionTime,
337
- lastTriggerTime: stats.lastTriggerTime
338
- };
339
- }
340
- }
341
- EventBus._logger = createLogger('EventBus');
342
- /**
343
- * 全局事件总线实例
344
- * 提供全局访问的事件总线
345
- */
346
- export class GlobalEventBus {
347
- /**
348
- * 获取全局事件总线实例
349
- * @param debugMode 是否启用调试模式
350
- */
351
- static getInstance(debugMode = false) {
352
- if (!this.instance) {
353
- this.instance = new EventBus(debugMode);
354
- }
355
- return this.instance;
356
- }
357
- /**
358
- * 重置全局事件总线实例
359
- * @param debugMode 是否启用调试模式
360
- */
361
- static reset(debugMode = false) {
362
- if (this.instance) {
363
- this.instance.clear();
364
- }
365
- this.instance = new EventBus(debugMode);
366
- return this.instance;
367
- }
368
- }
369
- /**
370
- * 事件装饰器工厂
371
- * 用于自动注册事件监听器
372
- */
373
- export function EventHandler(eventType, config = {}) {
374
- return function (target, propertyKey, descriptor) {
375
- const originalMethod = descriptor.value;
376
- // 在类实例化时自动注册监听器
377
- const initMethod = target.constructor.prototype.initEventListeners || function () { };
378
- target.constructor.prototype.initEventListeners = function () {
379
- initMethod.call(this);
380
- const eventBus = GlobalEventBus.getInstance();
381
- eventBus.on(eventType, originalMethod.bind(this), config);
382
- };
383
- return descriptor;
384
- };
385
- }
386
- /**
387
- * 异步事件装饰器工厂
388
- * 用于自动注册异步事件监听器
389
- */
390
- export function AsyncEventHandler(eventType, config = {}) {
391
- return function (target, propertyKey, descriptor) {
392
- const originalMethod = descriptor.value;
393
- const initMethod = target.constructor.prototype.initEventListeners || function () { };
394
- target.constructor.prototype.initEventListeners = function () {
395
- initMethod.call(this);
396
- const eventBus = GlobalEventBus.getInstance();
397
- eventBus.onAsync(eventType, originalMethod.bind(this), config);
398
- };
399
- return descriptor;
400
- };
401
- }
402
- //# sourceMappingURL=EventBus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../../src/ECS/Core/EventBus.ts"],"names":[],"mappings":"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"}