@esengine/ecs-framework 2.3.0 → 2.3.1

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 (491) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.ts +13451 -0
  4. package/dist/index.es5.js +4 -0
  5. package/dist/index.es5.js.map +1 -0
  6. package/dist/index.mjs +2 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/index.umd.js +4 -0
  9. package/dist/index.umd.js.map +1 -0
  10. package/dist/package.json +47 -0
  11. package/package.json +87 -84
  12. package/bin/Core/DI/Decorators.d.ts +0 -206
  13. package/bin/Core/DI/Decorators.d.ts.map +0 -1
  14. package/bin/Core/DI/Decorators.js +0 -253
  15. package/bin/Core/DI/Decorators.js.map +0 -1
  16. package/bin/Core/DI/index.d.ts +0 -8
  17. package/bin/Core/DI/index.d.ts.map +0 -1
  18. package/bin/Core/DI/index.js +0 -7
  19. package/bin/Core/DI/index.js.map +0 -1
  20. package/bin/Core/Plugin.d.ts +0 -112
  21. package/bin/Core/Plugin.d.ts.map +0 -1
  22. package/bin/Core/Plugin.js +0 -19
  23. package/bin/Core/Plugin.js.map +0 -1
  24. package/bin/Core/PluginManager.d.ts +0 -118
  25. package/bin/Core/PluginManager.d.ts.map +0 -1
  26. package/bin/Core/PluginManager.js +0 -229
  27. package/bin/Core/PluginManager.js.map +0 -1
  28. package/bin/Core/ServiceContainer.d.ts +0 -221
  29. package/bin/Core/ServiceContainer.d.ts.map +0 -1
  30. package/bin/Core/ServiceContainer.js +0 -352
  31. package/bin/Core/ServiceContainer.js.map +0 -1
  32. package/bin/Core.d.ts +0 -379
  33. package/bin/Core.d.ts.map +0 -1
  34. package/bin/Core.js +0 -553
  35. package/bin/Core.js.map +0 -1
  36. package/bin/ECS/Component.d.ts +0 -104
  37. package/bin/ECS/Component.d.ts.map +0 -1
  38. package/bin/ECS/Component.js +0 -105
  39. package/bin/ECS/Component.js.map +0 -1
  40. package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
  41. package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
  42. package/bin/ECS/Components/HierarchyComponent.js +0 -65
  43. package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
  44. package/bin/ECS/Components/index.d.ts +0 -2
  45. package/bin/ECS/Components/index.d.ts.map +0 -1
  46. package/bin/ECS/Components/index.js +0 -2
  47. package/bin/ECS/Components/index.js.map +0 -1
  48. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
  49. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  50. package/bin/ECS/Core/ArchetypeSystem.js +0 -244
  51. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  52. package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
  53. package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
  54. package/bin/ECS/Core/CommandBuffer.js +0 -244
  55. package/bin/ECS/Core/CommandBuffer.js.map +0 -1
  56. package/bin/ECS/Core/ComponentPool.d.ts +0 -139
  57. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  58. package/bin/ECS/Core/ComponentPool.js +0 -276
  59. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  60. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
  61. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  62. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
  63. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  64. package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
  65. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  66. package/bin/ECS/Core/ComponentStorage.js +0 -321
  67. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  68. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
  69. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
  70. package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
  71. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
  72. package/bin/ECS/Core/EventBus.d.ts +0 -210
  73. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  74. package/bin/ECS/Core/EventBus.js +0 -370
  75. package/bin/ECS/Core/EventBus.js.map +0 -1
  76. package/bin/ECS/Core/EventSystem.d.ts +0 -225
  77. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  78. package/bin/ECS/Core/EventSystem.js +0 -448
  79. package/bin/ECS/Core/EventSystem.js.map +0 -1
  80. package/bin/ECS/Core/Events/index.d.ts +0 -3
  81. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  82. package/bin/ECS/Core/Events/index.js +0 -3
  83. package/bin/ECS/Core/Events/index.js.map +0 -1
  84. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  85. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  86. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  87. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  88. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  89. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  90. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  91. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  92. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  93. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  94. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  95. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  96. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  97. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  98. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
  99. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  100. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  101. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  102. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  103. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  104. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  105. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  106. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  107. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  108. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  109. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  110. package/bin/ECS/Core/FluentAPI.js +0 -3
  111. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  112. package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
  113. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
  114. package/bin/ECS/Core/Query/TypedQuery.js +0 -294
  115. package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
  116. package/bin/ECS/Core/Query/index.d.ts +0 -3
  117. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  118. package/bin/ECS/Core/Query/index.js +0 -3
  119. package/bin/ECS/Core/Query/index.js.map +0 -1
  120. package/bin/ECS/Core/QuerySystem.d.ts +0 -458
  121. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  122. package/bin/ECS/Core/QuerySystem.js +0 -1069
  123. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  124. package/bin/ECS/Core/QueryTypes.d.ts +0 -34
  125. package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
  126. package/bin/ECS/Core/QueryTypes.js +0 -13
  127. package/bin/ECS/Core/QueryTypes.js.map +0 -1
  128. package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
  129. package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
  130. package/bin/ECS/Core/ReactiveQuery.js +0 -401
  131. package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
  132. package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
  133. package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
  134. package/bin/ECS/Core/ReferenceTracker.js +0 -254
  135. package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
  136. package/bin/ECS/Core/SoASerializer.d.ts +0 -28
  137. package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
  138. package/bin/ECS/Core/SoASerializer.js +0 -85
  139. package/bin/ECS/Core/SoASerializer.js.map +0 -1
  140. package/bin/ECS/Core/SoAStorage.d.ts +0 -129
  141. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  142. package/bin/ECS/Core/SoAStorage.js +0 -685
  143. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  144. package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
  145. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
  146. package/bin/ECS/Core/SoATypeRegistry.js +0 -135
  147. package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
  148. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  149. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  150. package/bin/ECS/Core/Storage/index.js +0 -4
  151. package/bin/ECS/Core/Storage/index.js.map +0 -1
  152. package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
  153. package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
  154. package/bin/ECS/Core/StorageDecorators.js +0 -27
  155. package/bin/ECS/Core/StorageDecorators.js.map +0 -1
  156. package/bin/ECS/CoreEvents.d.ts +0 -131
  157. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  158. package/bin/ECS/CoreEvents.js +0 -163
  159. package/bin/ECS/CoreEvents.js.map +0 -1
  160. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
  161. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
  162. package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
  163. package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
  164. package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
  165. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
  166. package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
  167. package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
  168. package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
  169. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
  170. package/bin/ECS/Decorators/TypeDecorators.js +0 -151
  171. package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
  172. package/bin/ECS/Decorators/index.d.ts +0 -7
  173. package/bin/ECS/Decorators/index.d.ts.map +0 -1
  174. package/bin/ECS/Decorators/index.js +0 -4
  175. package/bin/ECS/Decorators/index.js.map +0 -1
  176. package/bin/ECS/Entity.d.ts +0 -415
  177. package/bin/ECS/Entity.d.ts.map +0 -1
  178. package/bin/ECS/Entity.js +0 -683
  179. package/bin/ECS/Entity.js.map +0 -1
  180. package/bin/ECS/EntityTags.d.ts +0 -71
  181. package/bin/ECS/EntityTags.d.ts.map +0 -1
  182. package/bin/ECS/EntityTags.js +0 -82
  183. package/bin/ECS/EntityTags.js.map +0 -1
  184. package/bin/ECS/IScene.d.ts +0 -308
  185. package/bin/ECS/IScene.d.ts.map +0 -1
  186. package/bin/ECS/IScene.js +0 -2
  187. package/bin/ECS/IScene.js.map +0 -1
  188. package/bin/ECS/Scene.d.ts +0 -799
  189. package/bin/ECS/Scene.d.ts.map +0 -1
  190. package/bin/ECS/Scene.js +0 -1203
  191. package/bin/ECS/Scene.js.map +0 -1
  192. package/bin/ECS/SceneManager.d.ts +0 -197
  193. package/bin/ECS/SceneManager.d.ts.map +0 -1
  194. package/bin/ECS/SceneManager.js +0 -264
  195. package/bin/ECS/SceneManager.js.map +0 -1
  196. package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
  197. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
  198. package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
  199. package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
  200. package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
  201. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
  202. package/bin/ECS/Serialization/EntitySerializer.js +0 -155
  203. package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
  204. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
  205. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
  206. package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
  207. package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
  208. package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
  209. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
  210. package/bin/ECS/Serialization/SceneSerializer.js +0 -387
  211. package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
  212. package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
  213. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
  214. package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
  215. package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
  216. package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
  217. package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
  218. package/bin/ECS/Serialization/VersionMigration.js +0 -279
  219. package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
  220. package/bin/ECS/Serialization/index.d.ts +0 -18
  221. package/bin/ECS/Serialization/index.d.ts.map +0 -1
  222. package/bin/ECS/Serialization/index.js +0 -18
  223. package/bin/ECS/Serialization/index.js.map +0 -1
  224. package/bin/ECS/Systems/EntityCache.d.ts +0 -114
  225. package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
  226. package/bin/ECS/Systems/EntityCache.js +0 -145
  227. package/bin/ECS/Systems/EntityCache.js.map +0 -1
  228. package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
  229. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  230. package/bin/ECS/Systems/EntitySystem.js +0 -1102
  231. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  232. package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
  233. package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
  234. package/bin/ECS/Systems/HierarchySystem.js +0 -498
  235. package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
  236. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  237. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  238. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  239. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  240. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  241. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  242. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  243. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  244. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  245. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  246. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  247. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  248. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
  249. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
  250. package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
  251. package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
  252. package/bin/ECS/Systems/index.d.ts +0 -8
  253. package/bin/ECS/Systems/index.d.ts.map +0 -1
  254. package/bin/ECS/Systems/index.js +0 -8
  255. package/bin/ECS/Systems/index.js.map +0 -1
  256. package/bin/ECS/TypedEntity.d.ts +0 -192
  257. package/bin/ECS/TypedEntity.d.ts.map +0 -1
  258. package/bin/ECS/TypedEntity.js +0 -254
  259. package/bin/ECS/TypedEntity.js.map +0 -1
  260. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
  261. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  262. package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
  263. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  264. package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
  265. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
  266. package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
  267. package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
  268. package/bin/ECS/Utils/Bits.d.ts +0 -154
  269. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  270. package/bin/ECS/Utils/Bits.js +0 -331
  271. package/bin/ECS/Utils/Bits.js.map +0 -1
  272. package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
  273. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
  274. package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
  275. package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
  276. package/bin/ECS/Utils/EntityList.d.ts +0 -115
  277. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  278. package/bin/ECS/Utils/EntityList.js +0 -258
  279. package/bin/ECS/Utils/EntityList.js.map +0 -1
  280. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  281. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  282. package/bin/ECS/Utils/EntityProcessorList.js +0 -113
  283. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  284. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  285. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  286. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  287. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  288. package/bin/ECS/Utils/Matcher.d.ts +0 -171
  289. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  290. package/bin/ECS/Utils/Matcher.js +0 -293
  291. package/bin/ECS/Utils/Matcher.js.map +0 -1
  292. package/bin/ECS/Utils/SparseSet.d.ts +0 -170
  293. package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
  294. package/bin/ECS/Utils/SparseSet.js +0 -280
  295. package/bin/ECS/Utils/SparseSet.js.map +0 -1
  296. package/bin/ECS/Utils/index.d.ts +0 -9
  297. package/bin/ECS/Utils/index.d.ts.map +0 -1
  298. package/bin/ECS/Utils/index.js +0 -10
  299. package/bin/ECS/Utils/index.js.map +0 -1
  300. package/bin/ECS/World.d.ts +0 -238
  301. package/bin/ECS/World.d.ts.map +0 -1
  302. package/bin/ECS/World.js +0 -416
  303. package/bin/ECS/World.js.map +0 -1
  304. package/bin/ECS/WorldManager.d.ts +0 -224
  305. package/bin/ECS/WorldManager.d.ts.map +0 -1
  306. package/bin/ECS/WorldManager.js +0 -365
  307. package/bin/ECS/WorldManager.js.map +0 -1
  308. package/bin/ECS/index.d.ts +0 -26
  309. package/bin/ECS/index.d.ts.map +0 -1
  310. package/bin/ECS/index.js +0 -21
  311. package/bin/ECS/index.js.map +0 -1
  312. package/bin/Platform/IPlatformAdapter.d.ts +0 -169
  313. package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
  314. package/bin/Platform/IPlatformAdapter.js +0 -2
  315. package/bin/Platform/IPlatformAdapter.js.map +0 -1
  316. package/bin/Platform/PlatformDetector.d.ts +0 -56
  317. package/bin/Platform/PlatformDetector.d.ts.map +0 -1
  318. package/bin/Platform/PlatformDetector.js +0 -247
  319. package/bin/Platform/PlatformDetector.js.map +0 -1
  320. package/bin/Platform/PlatformManager.d.ts +0 -50
  321. package/bin/Platform/PlatformManager.d.ts.map +0 -1
  322. package/bin/Platform/PlatformManager.js +0 -114
  323. package/bin/Platform/PlatformManager.js.map +0 -1
  324. package/bin/Platform/index.d.ts +0 -19
  325. package/bin/Platform/index.d.ts.map +0 -1
  326. package/bin/Platform/index.js +0 -29
  327. package/bin/Platform/index.js.map +0 -1
  328. package/bin/Plugins/DebugPlugin.d.ts +0 -156
  329. package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
  330. package/bin/Plugins/DebugPlugin.js +0 -248
  331. package/bin/Plugins/DebugPlugin.js.map +0 -1
  332. package/bin/Plugins/index.d.ts +0 -2
  333. package/bin/Plugins/index.d.ts.map +0 -1
  334. package/bin/Plugins/index.js +0 -2
  335. package/bin/Plugins/index.js.map +0 -1
  336. package/bin/Types/IUpdatable.d.ts +0 -18
  337. package/bin/Types/IUpdatable.d.ts.map +0 -1
  338. package/bin/Types/IUpdatable.js +0 -7
  339. package/bin/Types/IUpdatable.js.map +0 -1
  340. package/bin/Types/TypeHelpers.d.ts +0 -238
  341. package/bin/Types/TypeHelpers.d.ts.map +0 -1
  342. package/bin/Types/TypeHelpers.js +0 -19
  343. package/bin/Types/TypeHelpers.js.map +0 -1
  344. package/bin/Types/index.d.ts +0 -466
  345. package/bin/Types/index.d.ts.map +0 -1
  346. package/bin/Types/index.js +0 -7
  347. package/bin/Types/index.js.map +0 -1
  348. package/bin/Utils/BinarySerializer.d.ts +0 -23
  349. package/bin/Utils/BinarySerializer.d.ts.map +0 -1
  350. package/bin/Utils/BinarySerializer.js +0 -100
  351. package/bin/Utils/BinarySerializer.js.map +0 -1
  352. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
  353. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
  354. package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
  355. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
  356. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
  357. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  358. package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
  359. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  360. package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
  361. package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
  362. package/bin/Utils/Debug/DebugConfigService.js +0 -42
  363. package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
  364. package/bin/Utils/Debug/DebugManager.d.ts +0 -131
  365. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  366. package/bin/Utils/Debug/DebugManager.js +0 -848
  367. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  368. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
  369. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  370. package/bin/Utils/Debug/EntityDataCollector.js +0 -870
  371. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  372. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
  373. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  374. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
  375. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  376. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
  377. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  378. package/bin/Utils/Debug/SceneDataCollector.js +0 -43
  379. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  380. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
  381. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  382. package/bin/Utils/Debug/SystemDataCollector.js +0 -60
  383. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  384. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
  385. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  386. package/bin/Utils/Debug/WebSocketManager.js +0 -141
  387. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  388. package/bin/Utils/Debug/index.d.ts +0 -11
  389. package/bin/Utils/Debug/index.d.ts.map +0 -1
  390. package/bin/Utils/Debug/index.js +0 -10
  391. package/bin/Utils/Debug/index.js.map +0 -1
  392. package/bin/Utils/Emitter.d.ts +0 -61
  393. package/bin/Utils/Emitter.d.ts.map +0 -1
  394. package/bin/Utils/Emitter.js +0 -101
  395. package/bin/Utils/Emitter.js.map +0 -1
  396. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  397. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  398. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  399. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  400. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  401. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  402. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  403. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  404. package/bin/Utils/Extensions/index.d.ts +0 -3
  405. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  406. package/bin/Utils/Extensions/index.js +0 -4
  407. package/bin/Utils/Extensions/index.js.map +0 -1
  408. package/bin/Utils/GlobalManager.d.ts +0 -29
  409. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  410. package/bin/Utils/GlobalManager.js +0 -50
  411. package/bin/Utils/GlobalManager.js.map +0 -1
  412. package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
  413. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
  414. package/bin/Utils/Logger/ConsoleLogger.js +0 -187
  415. package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
  416. package/bin/Utils/Logger/Constants.d.ts +0 -36
  417. package/bin/Utils/Logger/Constants.d.ts.map +0 -1
  418. package/bin/Utils/Logger/Constants.js +0 -40
  419. package/bin/Utils/Logger/Constants.js.map +0 -1
  420. package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
  421. package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
  422. package/bin/Utils/Logger/LoggerManager.js +0 -167
  423. package/bin/Utils/Logger/LoggerManager.js.map +0 -1
  424. package/bin/Utils/Logger/Types.d.ts +0 -40
  425. package/bin/Utils/Logger/Types.d.ts.map +0 -1
  426. package/bin/Utils/Logger/Types.js +0 -2
  427. package/bin/Utils/Logger/Types.js.map +0 -1
  428. package/bin/Utils/Logger/index.d.ts +0 -5
  429. package/bin/Utils/Logger/index.d.ts.map +0 -1
  430. package/bin/Utils/Logger/index.js +0 -5
  431. package/bin/Utils/Logger/index.js.map +0 -1
  432. package/bin/Utils/PerformanceMonitor.d.ts +0 -196
  433. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  434. package/bin/Utils/PerformanceMonitor.js +0 -244
  435. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  436. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  437. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  438. package/bin/Utils/Pool/IPoolable.js +0 -2
  439. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  440. package/bin/Utils/Pool/Pool.d.ts +0 -109
  441. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  442. package/bin/Utils/Pool/Pool.js +0 -238
  443. package/bin/Utils/Pool/Pool.js.map +0 -1
  444. package/bin/Utils/Pool/PoolManager.d.ts +0 -96
  445. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  446. package/bin/Utils/Pool/PoolManager.js +0 -199
  447. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  448. package/bin/Utils/Pool/index.d.ts +0 -4
  449. package/bin/Utils/Pool/index.d.ts.map +0 -1
  450. package/bin/Utils/Pool/index.js +0 -4
  451. package/bin/Utils/Pool/index.js.map +0 -1
  452. package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
  453. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
  454. package/bin/Utils/Profiler/AutoProfiler.js +0 -503
  455. package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
  456. package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
  457. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
  458. package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
  459. package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
  460. package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
  461. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
  462. package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
  463. package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
  464. package/bin/Utils/Profiler/index.d.ts +0 -8
  465. package/bin/Utils/Profiler/index.d.ts.map +0 -1
  466. package/bin/Utils/Profiler/index.js +0 -7
  467. package/bin/Utils/Profiler/index.js.map +0 -1
  468. package/bin/Utils/Time.d.ts +0 -47
  469. package/bin/Utils/Time.d.ts.map +0 -1
  470. package/bin/Utils/Time.js +0 -64
  471. package/bin/Utils/Time.js.map +0 -1
  472. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  473. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  474. package/bin/Utils/Timers/ITimer.js +0 -2
  475. package/bin/Utils/Timers/ITimer.js.map +0 -1
  476. package/bin/Utils/Timers/Timer.d.ts +0 -30
  477. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  478. package/bin/Utils/Timers/Timer.js +0 -58
  479. package/bin/Utils/Timers/Timer.js.map +0 -1
  480. package/bin/Utils/Timers/TimerManager.d.ts +0 -26
  481. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  482. package/bin/Utils/Timers/TimerManager.js +0 -48
  483. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  484. package/bin/Utils/index.d.ts +0 -11
  485. package/bin/Utils/index.d.ts.map +0 -1
  486. package/bin/Utils/index.js +0 -11
  487. package/bin/Utils/index.js.map +0 -1
  488. package/bin/index.d.ts +0 -29
  489. package/bin/index.d.ts.map +0 -1
  490. package/bin/index.js +0 -36
  491. package/bin/index.js.map +0 -1
@@ -1,225 +0,0 @@
1
- /**
2
- * 事件处理器函数类型
3
- */
4
- export type EventHandler<T> = (event: T) => void;
5
- /**
6
- * 异步事件处理器函数类型
7
- */
8
- export type AsyncEventHandler<T> = (event: T) => Promise<void>;
9
- /**
10
- * 事件监听器配置
11
- */
12
- export interface EventListenerConfig {
13
- /** 是否只执行一次 */
14
- once?: boolean;
15
- /** 优先级(数字越大优先级越高) */
16
- priority?: number;
17
- /** 是否异步执行 */
18
- async?: boolean;
19
- /** 事件处理函数的 this 绑定对象 */
20
- thisArg?: object;
21
- }
22
- /**
23
- * 事件统计信息
24
- */
25
- export interface EventStats {
26
- /** 事件类型 */
27
- eventType: string;
28
- /** 监听器数量 */
29
- listenerCount: number;
30
- /** 触发次数 */
31
- triggerCount: number;
32
- /** 总执行时间(毫秒) */
33
- totalExecutionTime: number;
34
- /** 平均执行时间(毫秒) */
35
- averageExecutionTime: number;
36
- /** 最后触发时间 */
37
- lastTriggerTime: number;
38
- }
39
- /**
40
- * 事件批处理配置
41
- */
42
- export interface EventBatchConfig {
43
- /** 批处理大小 */
44
- batchSize: number;
45
- /** 批处理延迟(毫秒) */
46
- delay: number;
47
- /** 是否启用批处理 */
48
- enabled: boolean;
49
- }
50
- /**
51
- * 类型安全的高性能事件系统
52
- * 支持同步/异步事件、优先级、批处理等功能
53
- */
54
- export declare class TypeSafeEventSystem {
55
- private static readonly _logger;
56
- private listeners;
57
- private stats;
58
- private batchQueue;
59
- private batchTimers;
60
- private batchConfigs;
61
- private nextListenerId;
62
- private isEnabled;
63
- private maxListeners;
64
- /**
65
- * 添加事件监听器
66
- * @param eventType 事件类型
67
- * @param handler 事件处理器(同步或异步,根据 config.async 决定)
68
- * @param config 监听器配置
69
- * @returns 监听器ID(用于移除)
70
- */
71
- on<T>(eventType: string, handler: EventHandler<T> | AsyncEventHandler<T>, config?: EventListenerConfig): string;
72
- /**
73
- * 添加一次性事件监听器
74
- * @param eventType 事件类型
75
- * @param handler 事件处理器
76
- * @param config 监听器配置
77
- * @returns 监听器ID
78
- */
79
- once<T>(eventType: string, handler: EventHandler<T>, config?: EventListenerConfig): string;
80
- /**
81
- * 添加异步事件监听器
82
- * @param eventType 事件类型
83
- * @param handler 异步事件处理器
84
- * @param config 监听器配置
85
- * @returns 监听器ID
86
- */
87
- onAsync<T>(eventType: string, handler: AsyncEventHandler<T>, config?: EventListenerConfig): string;
88
- /**
89
- * 移除事件监听器
90
- * @param eventType 事件类型
91
- * @param listenerId 监听器ID
92
- * @returns 是否成功移除
93
- */
94
- off(eventType: string, listenerId: string): boolean;
95
- /**
96
- * 移除指定事件类型的所有监听器
97
- * @param eventType 事件类型
98
- */
99
- offAll(eventType: string): void;
100
- /**
101
- * 触发事件
102
- * @param eventType 事件类型
103
- * @param event 事件数据
104
- * @returns Promise(如果有异步监听器)
105
- */
106
- emit<T>(eventType: string, event: T): Promise<void>;
107
- /**
108
- * 同步触发事件(忽略异步监听器)
109
- * @param eventType 事件类型
110
- * @param event 事件数据
111
- */
112
- emitSync<T>(eventType: string, event: T): void;
113
- /**
114
- * 设置事件批处理配置
115
- * @param eventType 事件类型
116
- * @param config 批处理配置
117
- */
118
- setBatchConfig(eventType: string, config: EventBatchConfig): void;
119
- /**
120
- * 立即处理指定事件类型的批处理队列
121
- * @param eventType 事件类型
122
- */
123
- flushBatch(eventType: string): void;
124
- /**
125
- * 获取事件统计信息
126
- * @param eventType 事件类型(可选)
127
- * @returns 统计信息
128
- */
129
- getStats(eventType?: string): EventStats | Map<string, EventStats>;
130
- /**
131
- * 重置统计信息
132
- * @param eventType 事件类型(可选,不指定则重置所有)
133
- */
134
- resetStats(eventType?: string): void;
135
- /**
136
- * 启用/禁用事件系统
137
- * @param enabled 是否启用
138
- */
139
- setEnabled(enabled: boolean): void;
140
- /**
141
- * 检查是否有指定事件类型的监听器
142
- * @param eventType 事件类型
143
- * @returns 是否有监听器
144
- */
145
- hasListeners(eventType: string): boolean;
146
- /**
147
- * 获取指定事件类型的监听器数量
148
- * @param eventType 事件类型
149
- * @returns 监听器数量
150
- */
151
- getListenerCount(eventType: string): number;
152
- /**
153
- * 清空所有事件监听器和数据
154
- */
155
- clear(): void;
156
- /**
157
- * 设置每个事件类型的最大监听器数量
158
- * @param max 最大数量
159
- */
160
- setMaxListeners(max: number): void;
161
- /**
162
- * 添加监听器的内部实现
163
- * @param eventType 事件类型
164
- * @param handler 事件处理器
165
- * @param config 配置
166
- * @returns 监听器ID
167
- */
168
- private addListener;
169
- /**
170
- * 执行事件的内部实现
171
- * @param eventType 事件类型
172
- * @param event 事件数据
173
- */
174
- private executeEvent;
175
- /**
176
- * 按优先级排序监听器
177
- * @param listeners 监听器数组
178
- * @returns 排序后的监听器数组
179
- */
180
- private sortListenersByPriority;
181
- /**
182
- * 移除指定的监听器
183
- * @param eventType 事件类型
184
- * @param listenerIds 要移除的监听器ID数组
185
- */
186
- private removeListeners;
187
- /**
188
- * 添加事件到批处理队列
189
- * @param eventType 事件类型
190
- * @param event 事件数据
191
- */
192
- private addToBatch;
193
- /**
194
- * 处理批处理事件
195
- * @param eventType 事件类型
196
- * @param batch 批处理事件数组
197
- */
198
- private processBatch;
199
- /**
200
- * 清除指定事件类型的批处理
201
- * @param eventType 事件类型
202
- */
203
- private clearBatch;
204
- /**
205
- * 清除所有批处理
206
- */
207
- private clearAllBatches;
208
- /**
209
- * 更新事件统计信息
210
- * @param eventType 事件类型
211
- * @param executionTime 执行时间
212
- */
213
- private updateStats;
214
- /**
215
- * 创建空的统计信息
216
- * @param eventType 事件类型
217
- * @returns 空的统计信息
218
- */
219
- private createEmptyStats;
220
- }
221
- /**
222
- * 全局事件系统实例
223
- */
224
- export declare const GlobalEventSystem: TypeSafeEventSystem;
225
- //# sourceMappingURL=EventSystem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventSystem.d.ts","sourceRoot":"","sources":["../../../src/ECS/Core/EventSystem.ts"],"names":[],"mappings":"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"}
@@ -1,448 +0,0 @@
1
- import { createLogger } from '../../Utils/Logger';
2
- /**
3
- * 类型安全的高性能事件系统
4
- * 支持同步/异步事件、优先级、批处理等功能
5
- */
6
- export class TypeSafeEventSystem {
7
- constructor() {
8
- this.listeners = new Map();
9
- this.stats = new Map();
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- this.batchQueue = new Map();
12
- this.batchTimers = new Map();
13
- this.batchConfigs = new Map();
14
- this.nextListenerId = 0;
15
- this.isEnabled = true;
16
- this.maxListeners = 100; // 每个事件类型的最大监听器数量
17
- }
18
- /**
19
- * 添加事件监听器
20
- * @param eventType 事件类型
21
- * @param handler 事件处理器(同步或异步,根据 config.async 决定)
22
- * @param config 监听器配置
23
- * @returns 监听器ID(用于移除)
24
- */
25
- on(eventType, handler, config = {}) {
26
- return this.addListener(eventType, handler, config);
27
- }
28
- /**
29
- * 添加一次性事件监听器
30
- * @param eventType 事件类型
31
- * @param handler 事件处理器
32
- * @param config 监听器配置
33
- * @returns 监听器ID
34
- */
35
- once(eventType, handler, config = {}) {
36
- return this.addListener(eventType, handler, { ...config, once: true });
37
- }
38
- /**
39
- * 添加异步事件监听器
40
- * @param eventType 事件类型
41
- * @param handler 异步事件处理器
42
- * @param config 监听器配置
43
- * @returns 监听器ID
44
- */
45
- onAsync(eventType, handler, config = {}) {
46
- return this.addListener(eventType, handler, { ...config, async: true });
47
- }
48
- /**
49
- * 移除事件监听器
50
- * @param eventType 事件类型
51
- * @param listenerId 监听器ID
52
- * @returns 是否成功移除
53
- */
54
- off(eventType, listenerId) {
55
- const listeners = this.listeners.get(eventType);
56
- if (!listeners)
57
- return false;
58
- const index = listeners.findIndex((l) => l.id === listenerId);
59
- if (index === -1)
60
- return false;
61
- listeners.splice(index, 1);
62
- // 如果没有监听器了,清理相关数据
63
- if (listeners.length === 0) {
64
- this.listeners.delete(eventType);
65
- this.stats.delete(eventType);
66
- }
67
- return true;
68
- }
69
- /**
70
- * 移除指定事件类型的所有监听器
71
- * @param eventType 事件类型
72
- */
73
- offAll(eventType) {
74
- this.listeners.delete(eventType);
75
- this.stats.delete(eventType);
76
- this.clearBatch(eventType);
77
- }
78
- /**
79
- * 触发事件
80
- * @param eventType 事件类型
81
- * @param event 事件数据
82
- * @returns Promise(如果有异步监听器)
83
- */
84
- async emit(eventType, event) {
85
- if (!this.isEnabled)
86
- return;
87
- // 检查是否启用了批处理
88
- const batchConfig = this.batchConfigs.get(eventType);
89
- if (batchConfig?.enabled) {
90
- this.addToBatch(eventType, event);
91
- return;
92
- }
93
- await this.executeEvent(eventType, event);
94
- }
95
- /**
96
- * 同步触发事件(忽略异步监听器)
97
- * @param eventType 事件类型
98
- * @param event 事件数据
99
- */
100
- emitSync(eventType, event) {
101
- if (!this.isEnabled)
102
- return;
103
- const listeners = this.listeners.get(eventType);
104
- if (!listeners || listeners.length === 0)
105
- return;
106
- const startTime = performance.now();
107
- const toRemove = [];
108
- // 按优先级排序
109
- const sortedListeners = this.sortListenersByPriority(listeners);
110
- for (const listener of sortedListeners) {
111
- if (listener.config.async)
112
- continue; // 跳过异步监听器
113
- try {
114
- if (listener.config.thisArg) {
115
- listener.handler.call(listener.config.thisArg, event);
116
- }
117
- else {
118
- listener.handler(event);
119
- }
120
- if (listener.config.once) {
121
- toRemove.push(listener.id);
122
- }
123
- }
124
- catch (error) {
125
- TypeSafeEventSystem._logger.error(`事件处理器执行错误 ${eventType}:`, error);
126
- }
127
- }
128
- // 移除一次性监听器
129
- this.removeListeners(eventType, toRemove);
130
- // 更新统计信息
131
- this.updateStats(eventType, performance.now() - startTime);
132
- }
133
- /**
134
- * 设置事件批处理配置
135
- * @param eventType 事件类型
136
- * @param config 批处理配置
137
- */
138
- setBatchConfig(eventType, config) {
139
- this.batchConfigs.set(eventType, config);
140
- }
141
- /**
142
- * 立即处理指定事件类型的批处理队列
143
- * @param eventType 事件类型
144
- */
145
- flushBatch(eventType) {
146
- const batch = this.batchQueue.get(eventType);
147
- if (!batch || batch.length === 0)
148
- return;
149
- // 清除定时器
150
- const timer = this.batchTimers.get(eventType);
151
- if (timer) {
152
- clearTimeout(timer);
153
- this.batchTimers.delete(eventType);
154
- }
155
- // 处理批处理事件
156
- this.processBatch(eventType, batch);
157
- // 清空队列
158
- this.batchQueue.delete(eventType);
159
- }
160
- /**
161
- * 获取事件统计信息
162
- * @param eventType 事件类型(可选)
163
- * @returns 统计信息
164
- */
165
- getStats(eventType) {
166
- if (eventType) {
167
- return this.stats.get(eventType) || this.createEmptyStats(eventType);
168
- }
169
- return new Map(this.stats);
170
- }
171
- /**
172
- * 重置统计信息
173
- * @param eventType 事件类型(可选,不指定则重置所有)
174
- */
175
- resetStats(eventType) {
176
- if (eventType) {
177
- this.stats.delete(eventType);
178
- }
179
- else {
180
- this.stats.clear();
181
- }
182
- }
183
- /**
184
- * 启用/禁用事件系统
185
- * @param enabled 是否启用
186
- */
187
- setEnabled(enabled) {
188
- this.isEnabled = enabled;
189
- }
190
- /**
191
- * 检查是否有指定事件类型的监听器
192
- * @param eventType 事件类型
193
- * @returns 是否有监听器
194
- */
195
- hasListeners(eventType) {
196
- const listeners = this.listeners.get(eventType);
197
- return listeners ? listeners.length > 0 : false;
198
- }
199
- /**
200
- * 获取指定事件类型的监听器数量
201
- * @param eventType 事件类型
202
- * @returns 监听器数量
203
- */
204
- getListenerCount(eventType) {
205
- const listeners = this.listeners.get(eventType);
206
- return listeners ? listeners.length : 0;
207
- }
208
- /**
209
- * 清空所有事件监听器和数据
210
- */
211
- clear() {
212
- this.listeners.clear();
213
- this.stats.clear();
214
- this.clearAllBatches();
215
- }
216
- /**
217
- * 设置每个事件类型的最大监听器数量
218
- * @param max 最大数量
219
- */
220
- setMaxListeners(max) {
221
- this.maxListeners = max;
222
- }
223
- /**
224
- * 添加监听器的内部实现
225
- * @param eventType 事件类型
226
- * @param handler 事件处理器
227
- * @param config 配置
228
- * @returns 监听器ID
229
- */
230
- addListener(eventType, handler, config) {
231
- let listeners = this.listeners.get(eventType);
232
- if (!listeners) {
233
- listeners = [];
234
- this.listeners.set(eventType, listeners);
235
- }
236
- // 检查监听器数量限制
237
- if (listeners.length >= this.maxListeners) {
238
- TypeSafeEventSystem._logger.warn(`事件类型 ${eventType} 的监听器数量超过最大限制 (${this.maxListeners})`);
239
- return '';
240
- }
241
- const listenerId = `listener_${this.nextListenerId++}`;
242
- const listener = {
243
- handler,
244
- config: {
245
- priority: 0,
246
- ...config
247
- },
248
- id: listenerId
249
- };
250
- listeners.push(listener);
251
- // 初始化统计信息
252
- if (!this.stats.has(eventType)) {
253
- this.stats.set(eventType, this.createEmptyStats(eventType));
254
- }
255
- return listenerId;
256
- }
257
- /**
258
- * 执行事件的内部实现
259
- * @param eventType 事件类型
260
- * @param event 事件数据
261
- */
262
- async executeEvent(eventType, event) {
263
- const listeners = this.listeners.get(eventType);
264
- if (!listeners || listeners.length === 0)
265
- return;
266
- const startTime = performance.now();
267
- const toRemove = [];
268
- // 按优先级排序
269
- const sortedListeners = this.sortListenersByPriority(listeners);
270
- // 分离同步和异步监听器
271
- const syncListeners = sortedListeners.filter((l) => !l.config.async);
272
- const asyncListeners = sortedListeners.filter((l) => l.config.async);
273
- // 执行同步监听器
274
- for (const listener of syncListeners) {
275
- try {
276
- if (listener.config.thisArg) {
277
- listener.handler.call(listener.config.thisArg, event);
278
- }
279
- else {
280
- listener.handler(event);
281
- }
282
- if (listener.config.once) {
283
- toRemove.push(listener.id);
284
- }
285
- }
286
- catch (error) {
287
- TypeSafeEventSystem._logger.error(`同步事件处理器执行错误 ${eventType}:`, error);
288
- }
289
- }
290
- // 执行异步监听器
291
- const asyncPromises = asyncListeners.map(async (listener) => {
292
- try {
293
- if (listener.config.thisArg) {
294
- await listener.handler.call(listener.config.thisArg, event);
295
- }
296
- else {
297
- await listener.handler(event);
298
- }
299
- if (listener.config.once) {
300
- toRemove.push(listener.id);
301
- }
302
- }
303
- catch (error) {
304
- TypeSafeEventSystem._logger.error(`异步事件处理器执行错误 ${eventType}:`, error);
305
- }
306
- });
307
- // 等待所有异步监听器完成
308
- await Promise.all(asyncPromises);
309
- // 移除一次性监听器
310
- this.removeListeners(eventType, toRemove);
311
- // 更新统计信息
312
- this.updateStats(eventType, performance.now() - startTime);
313
- }
314
- /**
315
- * 按优先级排序监听器
316
- * @param listeners 监听器数组
317
- * @returns 排序后的监听器数组
318
- */
319
- sortListenersByPriority(listeners) {
320
- return listeners.slice().sort((a, b) => (b.config.priority || 0) - (a.config.priority || 0));
321
- }
322
- /**
323
- * 移除指定的监听器
324
- * @param eventType 事件类型
325
- * @param listenerIds 要移除的监听器ID数组
326
- */
327
- removeListeners(eventType, listenerIds) {
328
- if (listenerIds.length === 0)
329
- return;
330
- const listeners = this.listeners.get(eventType);
331
- if (!listeners)
332
- return;
333
- for (const id of listenerIds) {
334
- const index = listeners.findIndex((l) => l.id === id);
335
- if (index !== -1) {
336
- listeners.splice(index, 1);
337
- }
338
- }
339
- // 如果没有监听器了,清理相关数据
340
- if (listeners.length === 0) {
341
- this.listeners.delete(eventType);
342
- this.stats.delete(eventType);
343
- }
344
- }
345
- /**
346
- * 添加事件到批处理队列
347
- * @param eventType 事件类型
348
- * @param event 事件数据
349
- */
350
- addToBatch(eventType, event) {
351
- let batch = this.batchQueue.get(eventType);
352
- if (!batch) {
353
- batch = [];
354
- this.batchQueue.set(eventType, batch);
355
- }
356
- batch.push(event);
357
- const config = this.batchConfigs.get(eventType);
358
- // 如果达到批处理大小,立即处理
359
- if (batch.length >= config.batchSize) {
360
- this.flushBatch(eventType);
361
- return;
362
- }
363
- // 设置延迟处理定时器
364
- if (!this.batchTimers.has(eventType)) {
365
- const timer = setTimeout(() => {
366
- this.flushBatch(eventType);
367
- }, config.delay);
368
- this.batchTimers.set(eventType, timer);
369
- }
370
- }
371
- /**
372
- * 处理批处理事件
373
- * @param eventType 事件类型
374
- * @param batch 批处理事件数组
375
- */
376
- async processBatch(eventType, batch) {
377
- // 创建批处理事件对象
378
- const batchEvent = {
379
- type: eventType,
380
- events: batch,
381
- count: batch.length,
382
- timestamp: Date.now()
383
- };
384
- // 触发批处理事件
385
- await this.executeEvent(`${eventType}:batch`, batchEvent);
386
- }
387
- /**
388
- * 清除指定事件类型的批处理
389
- * @param eventType 事件类型
390
- */
391
- clearBatch(eventType) {
392
- this.batchQueue.delete(eventType);
393
- const timer = this.batchTimers.get(eventType);
394
- if (timer) {
395
- clearTimeout(timer);
396
- this.batchTimers.delete(eventType);
397
- }
398
- }
399
- /**
400
- * 清除所有批处理
401
- */
402
- clearAllBatches() {
403
- this.batchQueue.clear();
404
- for (const timer of this.batchTimers.values()) {
405
- clearTimeout(timer);
406
- }
407
- this.batchTimers.clear();
408
- this.batchConfigs.clear();
409
- }
410
- /**
411
- * 更新事件统计信息
412
- * @param eventType 事件类型
413
- * @param executionTime 执行时间
414
- */
415
- updateStats(eventType, executionTime) {
416
- let stats = this.stats.get(eventType);
417
- if (!stats) {
418
- stats = this.createEmptyStats(eventType);
419
- this.stats.set(eventType, stats);
420
- }
421
- stats.triggerCount++;
422
- stats.totalExecutionTime += executionTime;
423
- stats.averageExecutionTime = stats.totalExecutionTime / stats.triggerCount;
424
- stats.lastTriggerTime = Date.now();
425
- stats.listenerCount = this.getListenerCount(eventType);
426
- }
427
- /**
428
- * 创建空的统计信息
429
- * @param eventType 事件类型
430
- * @returns 空的统计信息
431
- */
432
- createEmptyStats(eventType) {
433
- return {
434
- eventType,
435
- listenerCount: 0,
436
- triggerCount: 0,
437
- totalExecutionTime: 0,
438
- averageExecutionTime: 0,
439
- lastTriggerTime: 0
440
- };
441
- }
442
- }
443
- TypeSafeEventSystem._logger = createLogger('EventSystem');
444
- /**
445
- * 全局事件系统实例
446
- */
447
- export const GlobalEventSystem = new TypeSafeEventSystem();
448
- //# sourceMappingURL=EventSystem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../src/ECS/Core/EventSystem.ts"],"names":[],"mappings":"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"}