@esengine/ecs-framework 2.3.0 → 2.3.2

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 (490) hide show
  1. package/index.cjs +2 -0
  2. package/index.cjs.map +1 -0
  3. package/index.d.ts +13466 -0
  4. package/index.es5.js +4 -0
  5. package/index.es5.js.map +1 -0
  6. package/index.mjs +2 -0
  7. package/index.mjs.map +1 -0
  8. package/index.umd.js +4 -0
  9. package/index.umd.js.map +1 -0
  10. package/package.json +47 -84
  11. package/bin/Core/DI/Decorators.d.ts +0 -206
  12. package/bin/Core/DI/Decorators.d.ts.map +0 -1
  13. package/bin/Core/DI/Decorators.js +0 -253
  14. package/bin/Core/DI/Decorators.js.map +0 -1
  15. package/bin/Core/DI/index.d.ts +0 -8
  16. package/bin/Core/DI/index.d.ts.map +0 -1
  17. package/bin/Core/DI/index.js +0 -7
  18. package/bin/Core/DI/index.js.map +0 -1
  19. package/bin/Core/Plugin.d.ts +0 -112
  20. package/bin/Core/Plugin.d.ts.map +0 -1
  21. package/bin/Core/Plugin.js +0 -19
  22. package/bin/Core/Plugin.js.map +0 -1
  23. package/bin/Core/PluginManager.d.ts +0 -118
  24. package/bin/Core/PluginManager.d.ts.map +0 -1
  25. package/bin/Core/PluginManager.js +0 -229
  26. package/bin/Core/PluginManager.js.map +0 -1
  27. package/bin/Core/ServiceContainer.d.ts +0 -221
  28. package/bin/Core/ServiceContainer.d.ts.map +0 -1
  29. package/bin/Core/ServiceContainer.js +0 -352
  30. package/bin/Core/ServiceContainer.js.map +0 -1
  31. package/bin/Core.d.ts +0 -379
  32. package/bin/Core.d.ts.map +0 -1
  33. package/bin/Core.js +0 -553
  34. package/bin/Core.js.map +0 -1
  35. package/bin/ECS/Component.d.ts +0 -104
  36. package/bin/ECS/Component.d.ts.map +0 -1
  37. package/bin/ECS/Component.js +0 -105
  38. package/bin/ECS/Component.js.map +0 -1
  39. package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
  40. package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
  41. package/bin/ECS/Components/HierarchyComponent.js +0 -65
  42. package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
  43. package/bin/ECS/Components/index.d.ts +0 -2
  44. package/bin/ECS/Components/index.d.ts.map +0 -1
  45. package/bin/ECS/Components/index.js +0 -2
  46. package/bin/ECS/Components/index.js.map +0 -1
  47. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
  48. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  49. package/bin/ECS/Core/ArchetypeSystem.js +0 -244
  50. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  51. package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
  52. package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
  53. package/bin/ECS/Core/CommandBuffer.js +0 -244
  54. package/bin/ECS/Core/CommandBuffer.js.map +0 -1
  55. package/bin/ECS/Core/ComponentPool.d.ts +0 -139
  56. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  57. package/bin/ECS/Core/ComponentPool.js +0 -276
  58. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  59. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
  60. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  61. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
  62. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  63. package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
  64. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  65. package/bin/ECS/Core/ComponentStorage.js +0 -321
  66. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  67. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
  68. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
  69. package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
  70. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
  71. package/bin/ECS/Core/EventBus.d.ts +0 -210
  72. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  73. package/bin/ECS/Core/EventBus.js +0 -370
  74. package/bin/ECS/Core/EventBus.js.map +0 -1
  75. package/bin/ECS/Core/EventSystem.d.ts +0 -225
  76. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  77. package/bin/ECS/Core/EventSystem.js +0 -448
  78. package/bin/ECS/Core/EventSystem.js.map +0 -1
  79. package/bin/ECS/Core/Events/index.d.ts +0 -3
  80. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  81. package/bin/ECS/Core/Events/index.js +0 -3
  82. package/bin/ECS/Core/Events/index.js.map +0 -1
  83. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  84. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  85. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  86. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  87. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  88. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  89. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  90. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  91. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  92. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  93. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  94. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  95. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  96. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  97. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
  98. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  99. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  100. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  101. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  102. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  103. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  104. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  105. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  106. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  107. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  108. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  109. package/bin/ECS/Core/FluentAPI.js +0 -3
  110. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  111. package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
  112. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
  113. package/bin/ECS/Core/Query/TypedQuery.js +0 -294
  114. package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
  115. package/bin/ECS/Core/Query/index.d.ts +0 -3
  116. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  117. package/bin/ECS/Core/Query/index.js +0 -3
  118. package/bin/ECS/Core/Query/index.js.map +0 -1
  119. package/bin/ECS/Core/QuerySystem.d.ts +0 -458
  120. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  121. package/bin/ECS/Core/QuerySystem.js +0 -1069
  122. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  123. package/bin/ECS/Core/QueryTypes.d.ts +0 -34
  124. package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
  125. package/bin/ECS/Core/QueryTypes.js +0 -13
  126. package/bin/ECS/Core/QueryTypes.js.map +0 -1
  127. package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
  128. package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
  129. package/bin/ECS/Core/ReactiveQuery.js +0 -401
  130. package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
  131. package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
  132. package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
  133. package/bin/ECS/Core/ReferenceTracker.js +0 -254
  134. package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
  135. package/bin/ECS/Core/SoASerializer.d.ts +0 -28
  136. package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
  137. package/bin/ECS/Core/SoASerializer.js +0 -85
  138. package/bin/ECS/Core/SoASerializer.js.map +0 -1
  139. package/bin/ECS/Core/SoAStorage.d.ts +0 -129
  140. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  141. package/bin/ECS/Core/SoAStorage.js +0 -685
  142. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  143. package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
  144. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
  145. package/bin/ECS/Core/SoATypeRegistry.js +0 -135
  146. package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
  147. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  148. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  149. package/bin/ECS/Core/Storage/index.js +0 -4
  150. package/bin/ECS/Core/Storage/index.js.map +0 -1
  151. package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
  152. package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
  153. package/bin/ECS/Core/StorageDecorators.js +0 -27
  154. package/bin/ECS/Core/StorageDecorators.js.map +0 -1
  155. package/bin/ECS/CoreEvents.d.ts +0 -131
  156. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  157. package/bin/ECS/CoreEvents.js +0 -163
  158. package/bin/ECS/CoreEvents.js.map +0 -1
  159. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
  160. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
  161. package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
  162. package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
  163. package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
  164. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
  165. package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
  166. package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
  167. package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
  168. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
  169. package/bin/ECS/Decorators/TypeDecorators.js +0 -151
  170. package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
  171. package/bin/ECS/Decorators/index.d.ts +0 -7
  172. package/bin/ECS/Decorators/index.d.ts.map +0 -1
  173. package/bin/ECS/Decorators/index.js +0 -4
  174. package/bin/ECS/Decorators/index.js.map +0 -1
  175. package/bin/ECS/Entity.d.ts +0 -415
  176. package/bin/ECS/Entity.d.ts.map +0 -1
  177. package/bin/ECS/Entity.js +0 -683
  178. package/bin/ECS/Entity.js.map +0 -1
  179. package/bin/ECS/EntityTags.d.ts +0 -71
  180. package/bin/ECS/EntityTags.d.ts.map +0 -1
  181. package/bin/ECS/EntityTags.js +0 -82
  182. package/bin/ECS/EntityTags.js.map +0 -1
  183. package/bin/ECS/IScene.d.ts +0 -308
  184. package/bin/ECS/IScene.d.ts.map +0 -1
  185. package/bin/ECS/IScene.js +0 -2
  186. package/bin/ECS/IScene.js.map +0 -1
  187. package/bin/ECS/Scene.d.ts +0 -799
  188. package/bin/ECS/Scene.d.ts.map +0 -1
  189. package/bin/ECS/Scene.js +0 -1203
  190. package/bin/ECS/Scene.js.map +0 -1
  191. package/bin/ECS/SceneManager.d.ts +0 -197
  192. package/bin/ECS/SceneManager.d.ts.map +0 -1
  193. package/bin/ECS/SceneManager.js +0 -264
  194. package/bin/ECS/SceneManager.js.map +0 -1
  195. package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
  196. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
  197. package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
  198. package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
  199. package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
  200. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
  201. package/bin/ECS/Serialization/EntitySerializer.js +0 -155
  202. package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
  203. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
  204. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
  205. package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
  206. package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
  207. package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
  208. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
  209. package/bin/ECS/Serialization/SceneSerializer.js +0 -387
  210. package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
  211. package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
  212. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
  213. package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
  214. package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
  215. package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
  216. package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
  217. package/bin/ECS/Serialization/VersionMigration.js +0 -279
  218. package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
  219. package/bin/ECS/Serialization/index.d.ts +0 -18
  220. package/bin/ECS/Serialization/index.d.ts.map +0 -1
  221. package/bin/ECS/Serialization/index.js +0 -18
  222. package/bin/ECS/Serialization/index.js.map +0 -1
  223. package/bin/ECS/Systems/EntityCache.d.ts +0 -114
  224. package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
  225. package/bin/ECS/Systems/EntityCache.js +0 -145
  226. package/bin/ECS/Systems/EntityCache.js.map +0 -1
  227. package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
  228. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  229. package/bin/ECS/Systems/EntitySystem.js +0 -1102
  230. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  231. package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
  232. package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
  233. package/bin/ECS/Systems/HierarchySystem.js +0 -498
  234. package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
  235. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  236. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  237. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  238. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  239. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  240. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  241. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  242. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  243. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  244. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  245. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  246. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  247. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
  248. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
  249. package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
  250. package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
  251. package/bin/ECS/Systems/index.d.ts +0 -8
  252. package/bin/ECS/Systems/index.d.ts.map +0 -1
  253. package/bin/ECS/Systems/index.js +0 -8
  254. package/bin/ECS/Systems/index.js.map +0 -1
  255. package/bin/ECS/TypedEntity.d.ts +0 -192
  256. package/bin/ECS/TypedEntity.d.ts.map +0 -1
  257. package/bin/ECS/TypedEntity.js +0 -254
  258. package/bin/ECS/TypedEntity.js.map +0 -1
  259. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
  260. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  261. package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
  262. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  263. package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
  264. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
  265. package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
  266. package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
  267. package/bin/ECS/Utils/Bits.d.ts +0 -154
  268. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  269. package/bin/ECS/Utils/Bits.js +0 -331
  270. package/bin/ECS/Utils/Bits.js.map +0 -1
  271. package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
  272. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
  273. package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
  274. package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
  275. package/bin/ECS/Utils/EntityList.d.ts +0 -115
  276. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  277. package/bin/ECS/Utils/EntityList.js +0 -258
  278. package/bin/ECS/Utils/EntityList.js.map +0 -1
  279. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  280. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  281. package/bin/ECS/Utils/EntityProcessorList.js +0 -113
  282. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  283. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  284. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  285. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  286. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  287. package/bin/ECS/Utils/Matcher.d.ts +0 -171
  288. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  289. package/bin/ECS/Utils/Matcher.js +0 -293
  290. package/bin/ECS/Utils/Matcher.js.map +0 -1
  291. package/bin/ECS/Utils/SparseSet.d.ts +0 -170
  292. package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
  293. package/bin/ECS/Utils/SparseSet.js +0 -280
  294. package/bin/ECS/Utils/SparseSet.js.map +0 -1
  295. package/bin/ECS/Utils/index.d.ts +0 -9
  296. package/bin/ECS/Utils/index.d.ts.map +0 -1
  297. package/bin/ECS/Utils/index.js +0 -10
  298. package/bin/ECS/Utils/index.js.map +0 -1
  299. package/bin/ECS/World.d.ts +0 -238
  300. package/bin/ECS/World.d.ts.map +0 -1
  301. package/bin/ECS/World.js +0 -416
  302. package/bin/ECS/World.js.map +0 -1
  303. package/bin/ECS/WorldManager.d.ts +0 -224
  304. package/bin/ECS/WorldManager.d.ts.map +0 -1
  305. package/bin/ECS/WorldManager.js +0 -365
  306. package/bin/ECS/WorldManager.js.map +0 -1
  307. package/bin/ECS/index.d.ts +0 -26
  308. package/bin/ECS/index.d.ts.map +0 -1
  309. package/bin/ECS/index.js +0 -21
  310. package/bin/ECS/index.js.map +0 -1
  311. package/bin/Platform/IPlatformAdapter.d.ts +0 -169
  312. package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
  313. package/bin/Platform/IPlatformAdapter.js +0 -2
  314. package/bin/Platform/IPlatformAdapter.js.map +0 -1
  315. package/bin/Platform/PlatformDetector.d.ts +0 -56
  316. package/bin/Platform/PlatformDetector.d.ts.map +0 -1
  317. package/bin/Platform/PlatformDetector.js +0 -247
  318. package/bin/Platform/PlatformDetector.js.map +0 -1
  319. package/bin/Platform/PlatformManager.d.ts +0 -50
  320. package/bin/Platform/PlatformManager.d.ts.map +0 -1
  321. package/bin/Platform/PlatformManager.js +0 -114
  322. package/bin/Platform/PlatformManager.js.map +0 -1
  323. package/bin/Platform/index.d.ts +0 -19
  324. package/bin/Platform/index.d.ts.map +0 -1
  325. package/bin/Platform/index.js +0 -29
  326. package/bin/Platform/index.js.map +0 -1
  327. package/bin/Plugins/DebugPlugin.d.ts +0 -156
  328. package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
  329. package/bin/Plugins/DebugPlugin.js +0 -248
  330. package/bin/Plugins/DebugPlugin.js.map +0 -1
  331. package/bin/Plugins/index.d.ts +0 -2
  332. package/bin/Plugins/index.d.ts.map +0 -1
  333. package/bin/Plugins/index.js +0 -2
  334. package/bin/Plugins/index.js.map +0 -1
  335. package/bin/Types/IUpdatable.d.ts +0 -18
  336. package/bin/Types/IUpdatable.d.ts.map +0 -1
  337. package/bin/Types/IUpdatable.js +0 -7
  338. package/bin/Types/IUpdatable.js.map +0 -1
  339. package/bin/Types/TypeHelpers.d.ts +0 -238
  340. package/bin/Types/TypeHelpers.d.ts.map +0 -1
  341. package/bin/Types/TypeHelpers.js +0 -19
  342. package/bin/Types/TypeHelpers.js.map +0 -1
  343. package/bin/Types/index.d.ts +0 -466
  344. package/bin/Types/index.d.ts.map +0 -1
  345. package/bin/Types/index.js +0 -7
  346. package/bin/Types/index.js.map +0 -1
  347. package/bin/Utils/BinarySerializer.d.ts +0 -23
  348. package/bin/Utils/BinarySerializer.d.ts.map +0 -1
  349. package/bin/Utils/BinarySerializer.js +0 -100
  350. package/bin/Utils/BinarySerializer.js.map +0 -1
  351. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
  352. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
  353. package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
  354. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
  355. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
  356. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  357. package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
  358. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  359. package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
  360. package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
  361. package/bin/Utils/Debug/DebugConfigService.js +0 -42
  362. package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
  363. package/bin/Utils/Debug/DebugManager.d.ts +0 -131
  364. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  365. package/bin/Utils/Debug/DebugManager.js +0 -848
  366. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  367. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
  368. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  369. package/bin/Utils/Debug/EntityDataCollector.js +0 -870
  370. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  371. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
  372. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  373. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
  374. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  375. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
  376. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  377. package/bin/Utils/Debug/SceneDataCollector.js +0 -43
  378. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  379. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
  380. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  381. package/bin/Utils/Debug/SystemDataCollector.js +0 -60
  382. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  383. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
  384. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  385. package/bin/Utils/Debug/WebSocketManager.js +0 -141
  386. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  387. package/bin/Utils/Debug/index.d.ts +0 -11
  388. package/bin/Utils/Debug/index.d.ts.map +0 -1
  389. package/bin/Utils/Debug/index.js +0 -10
  390. package/bin/Utils/Debug/index.js.map +0 -1
  391. package/bin/Utils/Emitter.d.ts +0 -61
  392. package/bin/Utils/Emitter.d.ts.map +0 -1
  393. package/bin/Utils/Emitter.js +0 -101
  394. package/bin/Utils/Emitter.js.map +0 -1
  395. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  396. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  397. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  398. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  399. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  400. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  401. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  402. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  403. package/bin/Utils/Extensions/index.d.ts +0 -3
  404. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  405. package/bin/Utils/Extensions/index.js +0 -4
  406. package/bin/Utils/Extensions/index.js.map +0 -1
  407. package/bin/Utils/GlobalManager.d.ts +0 -29
  408. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  409. package/bin/Utils/GlobalManager.js +0 -50
  410. package/bin/Utils/GlobalManager.js.map +0 -1
  411. package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
  412. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
  413. package/bin/Utils/Logger/ConsoleLogger.js +0 -187
  414. package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
  415. package/bin/Utils/Logger/Constants.d.ts +0 -36
  416. package/bin/Utils/Logger/Constants.d.ts.map +0 -1
  417. package/bin/Utils/Logger/Constants.js +0 -40
  418. package/bin/Utils/Logger/Constants.js.map +0 -1
  419. package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
  420. package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
  421. package/bin/Utils/Logger/LoggerManager.js +0 -167
  422. package/bin/Utils/Logger/LoggerManager.js.map +0 -1
  423. package/bin/Utils/Logger/Types.d.ts +0 -40
  424. package/bin/Utils/Logger/Types.d.ts.map +0 -1
  425. package/bin/Utils/Logger/Types.js +0 -2
  426. package/bin/Utils/Logger/Types.js.map +0 -1
  427. package/bin/Utils/Logger/index.d.ts +0 -5
  428. package/bin/Utils/Logger/index.d.ts.map +0 -1
  429. package/bin/Utils/Logger/index.js +0 -5
  430. package/bin/Utils/Logger/index.js.map +0 -1
  431. package/bin/Utils/PerformanceMonitor.d.ts +0 -196
  432. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  433. package/bin/Utils/PerformanceMonitor.js +0 -244
  434. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  435. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  436. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  437. package/bin/Utils/Pool/IPoolable.js +0 -2
  438. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  439. package/bin/Utils/Pool/Pool.d.ts +0 -109
  440. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  441. package/bin/Utils/Pool/Pool.js +0 -238
  442. package/bin/Utils/Pool/Pool.js.map +0 -1
  443. package/bin/Utils/Pool/PoolManager.d.ts +0 -96
  444. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  445. package/bin/Utils/Pool/PoolManager.js +0 -199
  446. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  447. package/bin/Utils/Pool/index.d.ts +0 -4
  448. package/bin/Utils/Pool/index.d.ts.map +0 -1
  449. package/bin/Utils/Pool/index.js +0 -4
  450. package/bin/Utils/Pool/index.js.map +0 -1
  451. package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
  452. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
  453. package/bin/Utils/Profiler/AutoProfiler.js +0 -503
  454. package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
  455. package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
  456. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
  457. package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
  458. package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
  459. package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
  460. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
  461. package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
  462. package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
  463. package/bin/Utils/Profiler/index.d.ts +0 -8
  464. package/bin/Utils/Profiler/index.d.ts.map +0 -1
  465. package/bin/Utils/Profiler/index.js +0 -7
  466. package/bin/Utils/Profiler/index.js.map +0 -1
  467. package/bin/Utils/Time.d.ts +0 -47
  468. package/bin/Utils/Time.d.ts.map +0 -1
  469. package/bin/Utils/Time.js +0 -64
  470. package/bin/Utils/Time.js.map +0 -1
  471. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  472. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  473. package/bin/Utils/Timers/ITimer.js +0 -2
  474. package/bin/Utils/Timers/ITimer.js.map +0 -1
  475. package/bin/Utils/Timers/Timer.d.ts +0 -30
  476. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  477. package/bin/Utils/Timers/Timer.js +0 -58
  478. package/bin/Utils/Timers/Timer.js.map +0 -1
  479. package/bin/Utils/Timers/TimerManager.d.ts +0 -26
  480. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  481. package/bin/Utils/Timers/TimerManager.js +0 -48
  482. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  483. package/bin/Utils/index.d.ts +0 -11
  484. package/bin/Utils/index.d.ts.map +0 -1
  485. package/bin/Utils/index.js +0 -11
  486. package/bin/Utils/index.js.map +0 -1
  487. package/bin/index.d.ts +0 -29
  488. package/bin/index.d.ts.map +0 -1
  489. package/bin/index.js +0 -36
  490. 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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"}