@esengine/ecs-framework 2.2.21 → 2.3.0

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/bin/Core/DI/Decorators.d.ts +206 -0
  2. package/bin/Core/DI/Decorators.d.ts.map +1 -0
  3. package/bin/Core/DI/Decorators.js +253 -0
  4. package/bin/Core/DI/Decorators.js.map +1 -0
  5. package/bin/Core/DI/index.d.ts +8 -0
  6. package/bin/Core/DI/index.d.ts.map +1 -0
  7. package/bin/Core/DI/index.js +7 -0
  8. package/bin/Core/DI/index.js.map +1 -0
  9. package/bin/Core/Plugin.d.ts +112 -0
  10. package/bin/Core/Plugin.d.ts.map +1 -0
  11. package/bin/Core/Plugin.js +19 -0
  12. package/bin/Core/Plugin.js.map +1 -0
  13. package/bin/Core/PluginManager.d.ts +118 -0
  14. package/bin/Core/PluginManager.d.ts.map +1 -0
  15. package/bin/Core/PluginManager.js +229 -0
  16. package/bin/Core/PluginManager.js.map +1 -0
  17. package/bin/Core/ServiceContainer.d.ts +221 -0
  18. package/bin/Core/ServiceContainer.d.ts.map +1 -0
  19. package/bin/Core/ServiceContainer.js +352 -0
  20. package/bin/Core/ServiceContainer.js.map +1 -0
  21. package/bin/Core.d.ts +379 -0
  22. package/bin/Core.d.ts.map +1 -0
  23. package/bin/Core.js +553 -0
  24. package/bin/Core.js.map +1 -0
  25. package/bin/ECS/Component.d.ts +104 -0
  26. package/bin/ECS/Component.d.ts.map +1 -0
  27. package/bin/ECS/Component.js +105 -0
  28. package/bin/ECS/Component.js.map +1 -0
  29. package/bin/ECS/Components/HierarchyComponent.d.ts +46 -0
  30. package/bin/ECS/Components/HierarchyComponent.d.ts.map +1 -0
  31. package/bin/ECS/Components/HierarchyComponent.js +65 -0
  32. package/bin/ECS/Components/HierarchyComponent.js.map +1 -0
  33. package/bin/ECS/Components/index.d.ts +2 -0
  34. package/bin/ECS/Components/index.d.ts.map +1 -0
  35. package/bin/ECS/Components/index.js +2 -0
  36. package/bin/ECS/Components/index.js.map +1 -0
  37. package/bin/ECS/Core/ArchetypeSystem.d.ts +103 -0
  38. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +1 -0
  39. package/bin/ECS/Core/ArchetypeSystem.js +244 -0
  40. package/bin/ECS/Core/ArchetypeSystem.js.map +1 -0
  41. package/bin/ECS/Core/CommandBuffer.d.ts +154 -0
  42. package/bin/ECS/Core/CommandBuffer.d.ts.map +1 -0
  43. package/bin/ECS/Core/CommandBuffer.js +244 -0
  44. package/bin/ECS/Core/CommandBuffer.js.map +1 -0
  45. package/bin/ECS/Core/ComponentPool.d.ts +139 -0
  46. package/bin/ECS/Core/ComponentPool.d.ts.map +1 -0
  47. package/bin/ECS/Core/ComponentPool.js +276 -0
  48. package/bin/ECS/Core/ComponentPool.js.map +1 -0
  49. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +127 -0
  50. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +1 -0
  51. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +235 -0
  52. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +1 -0
  53. package/bin/ECS/Core/ComponentStorage.d.ts +185 -0
  54. package/bin/ECS/Core/ComponentStorage.d.ts.map +1 -0
  55. package/bin/ECS/Core/ComponentStorage.js +321 -0
  56. package/bin/ECS/Core/ComponentStorage.js.map +1 -0
  57. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +26 -0
  58. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +1 -0
  59. package/bin/ECS/Core/EntityLifecyclePolicy.js +2 -0
  60. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +1 -0
  61. package/bin/ECS/Core/EventBus.d.ts +210 -0
  62. package/bin/ECS/Core/EventBus.d.ts.map +1 -0
  63. package/bin/ECS/Core/EventBus.js +370 -0
  64. package/bin/ECS/Core/EventBus.js.map +1 -0
  65. package/bin/ECS/Core/EventSystem.d.ts +225 -0
  66. package/bin/ECS/Core/EventSystem.d.ts.map +1 -0
  67. package/bin/ECS/Core/EventSystem.js +448 -0
  68. package/bin/ECS/Core/EventSystem.js.map +1 -0
  69. package/bin/ECS/Core/Events/index.d.ts +3 -0
  70. package/bin/ECS/Core/Events/index.d.ts.map +1 -0
  71. package/bin/ECS/Core/Events/index.js +3 -0
  72. package/bin/ECS/Core/Events/index.js.map +1 -0
  73. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +35 -0
  74. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +1 -0
  75. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +48 -0
  76. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +1 -0
  77. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +135 -0
  78. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +1 -0
  79. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +166 -0
  80. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +1 -0
  81. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +58 -0
  82. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +1 -0
  83. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +85 -0
  84. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +1 -0
  85. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +110 -0
  86. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +1 -0
  87. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +181 -0
  88. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +1 -0
  89. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +53 -0
  90. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +1 -0
  91. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +79 -0
  92. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +1 -0
  93. package/bin/ECS/Core/FluentAPI/index.d.ts +6 -0
  94. package/bin/ECS/Core/FluentAPI/index.d.ts.map +1 -0
  95. package/bin/ECS/Core/FluentAPI/index.js +6 -0
  96. package/bin/ECS/Core/FluentAPI/index.js.map +1 -0
  97. package/bin/ECS/Core/FluentAPI.d.ts +2 -0
  98. package/bin/ECS/Core/FluentAPI.d.ts.map +1 -0
  99. package/bin/ECS/Core/FluentAPI.js +3 -0
  100. package/bin/ECS/Core/FluentAPI.js.map +1 -0
  101. package/bin/ECS/Core/Query/TypedQuery.d.ts +214 -0
  102. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +1 -0
  103. package/bin/ECS/Core/Query/TypedQuery.js +294 -0
  104. package/bin/ECS/Core/Query/TypedQuery.js.map +1 -0
  105. package/bin/ECS/Core/Query/index.d.ts +3 -0
  106. package/bin/ECS/Core/Query/index.d.ts.map +1 -0
  107. package/bin/ECS/Core/Query/index.js +3 -0
  108. package/bin/ECS/Core/Query/index.js.map +1 -0
  109. package/bin/ECS/Core/QuerySystem.d.ts +458 -0
  110. package/bin/ECS/Core/QuerySystem.d.ts.map +1 -0
  111. package/bin/ECS/Core/QuerySystem.js +1069 -0
  112. package/bin/ECS/Core/QuerySystem.js.map +1 -0
  113. package/bin/ECS/Core/QueryTypes.d.ts +34 -0
  114. package/bin/ECS/Core/QueryTypes.d.ts.map +1 -0
  115. package/bin/ECS/Core/QueryTypes.js +13 -0
  116. package/bin/ECS/Core/QueryTypes.js.map +1 -0
  117. package/bin/ECS/Core/ReactiveQuery.d.ts +211 -0
  118. package/bin/ECS/Core/ReactiveQuery.d.ts.map +1 -0
  119. package/bin/ECS/Core/ReactiveQuery.js +401 -0
  120. package/bin/ECS/Core/ReactiveQuery.js.map +1 -0
  121. package/bin/ECS/Core/ReferenceTracker.d.ts +111 -0
  122. package/bin/ECS/Core/ReferenceTracker.d.ts.map +1 -0
  123. package/bin/ECS/Core/ReferenceTracker.js +254 -0
  124. package/bin/ECS/Core/ReferenceTracker.js.map +1 -0
  125. package/bin/ECS/Core/SoASerializer.d.ts +28 -0
  126. package/bin/ECS/Core/SoASerializer.d.ts.map +1 -0
  127. package/bin/ECS/Core/SoASerializer.js +85 -0
  128. package/bin/ECS/Core/SoASerializer.js.map +1 -0
  129. package/bin/ECS/Core/SoAStorage.d.ts +129 -0
  130. package/bin/ECS/Core/SoAStorage.d.ts.map +1 -0
  131. package/bin/ECS/Core/SoAStorage.js +685 -0
  132. package/bin/ECS/Core/SoAStorage.js.map +1 -0
  133. package/bin/ECS/Core/SoATypeRegistry.d.ts +50 -0
  134. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +1 -0
  135. package/bin/ECS/Core/SoATypeRegistry.js +135 -0
  136. package/bin/ECS/Core/SoATypeRegistry.js.map +1 -0
  137. package/bin/ECS/Core/Storage/index.d.ts +4 -0
  138. package/bin/ECS/Core/Storage/index.d.ts.map +1 -0
  139. package/bin/ECS/Core/Storage/index.js +4 -0
  140. package/bin/ECS/Core/Storage/index.js.map +1 -0
  141. package/bin/ECS/Core/StorageDecorators.d.ts +20 -0
  142. package/bin/ECS/Core/StorageDecorators.d.ts.map +1 -0
  143. package/bin/ECS/Core/StorageDecorators.js +27 -0
  144. package/bin/ECS/Core/StorageDecorators.js.map +1 -0
  145. package/bin/ECS/CoreEvents.d.ts +131 -0
  146. package/bin/ECS/CoreEvents.d.ts.map +1 -0
  147. package/bin/ECS/CoreEvents.js +163 -0
  148. package/bin/ECS/CoreEvents.js.map +1 -0
  149. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +46 -0
  150. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +1 -0
  151. package/bin/ECS/Decorators/EntityRefDecorator.js +118 -0
  152. package/bin/ECS/Decorators/EntityRefDecorator.js.map +1 -0
  153. package/bin/ECS/Decorators/PropertyDecorator.d.ts +168 -0
  154. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +1 -0
  155. package/bin/ECS/Decorators/PropertyDecorator.js +40 -0
  156. package/bin/ECS/Decorators/PropertyDecorator.js.map +1 -0
  157. package/bin/ECS/Decorators/TypeDecorators.d.ts +124 -0
  158. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +1 -0
  159. package/bin/ECS/Decorators/TypeDecorators.js +151 -0
  160. package/bin/ECS/Decorators/TypeDecorators.js.map +1 -0
  161. package/bin/ECS/Decorators/index.d.ts +7 -0
  162. package/bin/ECS/Decorators/index.d.ts.map +1 -0
  163. package/bin/ECS/Decorators/index.js +4 -0
  164. package/bin/ECS/Decorators/index.js.map +1 -0
  165. package/bin/ECS/Entity.d.ts +415 -0
  166. package/bin/ECS/Entity.d.ts.map +1 -0
  167. package/bin/ECS/Entity.js +683 -0
  168. package/bin/ECS/Entity.js.map +1 -0
  169. package/bin/ECS/EntityTags.d.ts +71 -0
  170. package/bin/ECS/EntityTags.d.ts.map +1 -0
  171. package/bin/ECS/EntityTags.js +82 -0
  172. package/bin/ECS/EntityTags.js.map +1 -0
  173. package/bin/ECS/IScene.d.ts +308 -0
  174. package/bin/ECS/IScene.d.ts.map +1 -0
  175. package/bin/ECS/IScene.js +2 -0
  176. package/bin/ECS/IScene.js.map +1 -0
  177. package/bin/ECS/Scene.d.ts +799 -0
  178. package/bin/ECS/Scene.d.ts.map +1 -0
  179. package/bin/ECS/Scene.js +1203 -0
  180. package/bin/ECS/Scene.js.map +1 -0
  181. package/bin/ECS/SceneManager.d.ts +197 -0
  182. package/bin/ECS/SceneManager.d.ts.map +1 -0
  183. package/bin/ECS/SceneManager.js +264 -0
  184. package/bin/ECS/SceneManager.js.map +1 -0
  185. package/bin/ECS/Serialization/ComponentSerializer.d.ts +106 -0
  186. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +1 -0
  187. package/bin/ECS/Serialization/ComponentSerializer.js +251 -0
  188. package/bin/ECS/Serialization/ComponentSerializer.js.map +1 -0
  189. package/bin/ECS/Serialization/EntitySerializer.d.ts +111 -0
  190. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +1 -0
  191. package/bin/ECS/Serialization/EntitySerializer.js +155 -0
  192. package/bin/ECS/Serialization/EntitySerializer.js.map +1 -0
  193. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +259 -0
  194. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +1 -0
  195. package/bin/ECS/Serialization/IncrementalSerializer.js +500 -0
  196. package/bin/ECS/Serialization/IncrementalSerializer.js.map +1 -0
  197. package/bin/ECS/Serialization/SceneSerializer.d.ts +213 -0
  198. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +1 -0
  199. package/bin/ECS/Serialization/SceneSerializer.js +387 -0
  200. package/bin/ECS/Serialization/SceneSerializer.js.map +1 -0
  201. package/bin/ECS/Serialization/SerializationDecorators.d.ts +136 -0
  202. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +1 -0
  203. package/bin/ECS/Serialization/SerializationDecorators.js +216 -0
  204. package/bin/ECS/Serialization/SerializationDecorators.js.map +1 -0
  205. package/bin/ECS/Serialization/VersionMigration.d.ts +156 -0
  206. package/bin/ECS/Serialization/VersionMigration.d.ts.map +1 -0
  207. package/bin/ECS/Serialization/VersionMigration.js +279 -0
  208. package/bin/ECS/Serialization/VersionMigration.js.map +1 -0
  209. package/bin/ECS/Serialization/index.d.ts +18 -0
  210. package/bin/ECS/Serialization/index.d.ts.map +1 -0
  211. package/bin/ECS/Serialization/index.js +18 -0
  212. package/bin/ECS/Serialization/index.js.map +1 -0
  213. package/bin/ECS/Systems/EntityCache.d.ts +114 -0
  214. package/bin/ECS/Systems/EntityCache.d.ts.map +1 -0
  215. package/bin/ECS/Systems/EntityCache.js +145 -0
  216. package/bin/ECS/Systems/EntityCache.js.map +1 -0
  217. package/bin/ECS/Systems/EntitySystem.d.ts +591 -0
  218. package/bin/ECS/Systems/EntitySystem.d.ts.map +1 -0
  219. package/bin/ECS/Systems/EntitySystem.js +1102 -0
  220. package/bin/ECS/Systems/EntitySystem.js.map +1 -0
  221. package/bin/ECS/Systems/HierarchySystem.d.ts +155 -0
  222. package/bin/ECS/Systems/HierarchySystem.d.ts.map +1 -0
  223. package/bin/ECS/Systems/HierarchySystem.js +498 -0
  224. package/bin/ECS/Systems/HierarchySystem.js.map +1 -0
  225. package/bin/ECS/Systems/IntervalSystem.d.ts +33 -0
  226. package/bin/ECS/Systems/IntervalSystem.d.ts.map +1 -0
  227. package/bin/ECS/Systems/IntervalSystem.js +50 -0
  228. package/bin/ECS/Systems/IntervalSystem.js.map +1 -0
  229. package/bin/ECS/Systems/PassiveSystem.d.ts +17 -0
  230. package/bin/ECS/Systems/PassiveSystem.d.ts.map +1 -0
  231. package/bin/ECS/Systems/PassiveSystem.js +19 -0
  232. package/bin/ECS/Systems/PassiveSystem.js.map +1 -0
  233. package/bin/ECS/Systems/ProcessingSystem.d.ts +21 -0
  234. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +1 -0
  235. package/bin/ECS/Systems/ProcessingSystem.js +20 -0
  236. package/bin/ECS/Systems/ProcessingSystem.js.map +1 -0
  237. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +313 -0
  238. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +1 -0
  239. package/bin/ECS/Systems/WorkerEntitySystem.js +792 -0
  240. package/bin/ECS/Systems/WorkerEntitySystem.js.map +1 -0
  241. package/bin/ECS/Systems/index.d.ts +8 -0
  242. package/bin/ECS/Systems/index.d.ts.map +1 -0
  243. package/bin/ECS/Systems/index.js +8 -0
  244. package/bin/ECS/Systems/index.js.map +1 -0
  245. package/bin/ECS/TypedEntity.d.ts +192 -0
  246. package/bin/ECS/TypedEntity.d.ts.map +1 -0
  247. package/bin/ECS/TypedEntity.js +254 -0
  248. package/bin/ECS/TypedEntity.js.map +1 -0
  249. package/bin/ECS/Utils/BigIntCompatibility.d.ts +151 -0
  250. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +1 -0
  251. package/bin/ECS/Utils/BigIntCompatibility.js +476 -0
  252. package/bin/ECS/Utils/BigIntCompatibility.js.map +1 -0
  253. package/bin/ECS/Utils/BitMaskHashMap.d.ts +28 -0
  254. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +1 -0
  255. package/bin/ECS/Utils/BitMaskHashMap.js +127 -0
  256. package/bin/ECS/Utils/BitMaskHashMap.js.map +1 -0
  257. package/bin/ECS/Utils/Bits.d.ts +154 -0
  258. package/bin/ECS/Utils/Bits.d.ts.map +1 -0
  259. package/bin/ECS/Utils/Bits.js +331 -0
  260. package/bin/ECS/Utils/Bits.js.map +1 -0
  261. package/bin/ECS/Utils/ComponentSparseSet.d.ts +143 -0
  262. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +1 -0
  263. package/bin/ECS/Utils/ComponentSparseSet.js +347 -0
  264. package/bin/ECS/Utils/ComponentSparseSet.js.map +1 -0
  265. package/bin/ECS/Utils/EntityList.d.ts +115 -0
  266. package/bin/ECS/Utils/EntityList.d.ts.map +1 -0
  267. package/bin/ECS/Utils/EntityList.js +258 -0
  268. package/bin/ECS/Utils/EntityList.js.map +1 -0
  269. package/bin/ECS/Utils/EntityProcessorList.d.ts +56 -0
  270. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +1 -0
  271. package/bin/ECS/Utils/EntityProcessorList.js +113 -0
  272. package/bin/ECS/Utils/EntityProcessorList.js.map +1 -0
  273. package/bin/ECS/Utils/IdentifierPool.d.ts +203 -0
  274. package/bin/ECS/Utils/IdentifierPool.d.ts.map +1 -0
  275. package/bin/ECS/Utils/IdentifierPool.js +325 -0
  276. package/bin/ECS/Utils/IdentifierPool.js.map +1 -0
  277. package/bin/ECS/Utils/Matcher.d.ts +171 -0
  278. package/bin/ECS/Utils/Matcher.d.ts.map +1 -0
  279. package/bin/ECS/Utils/Matcher.js +293 -0
  280. package/bin/ECS/Utils/Matcher.js.map +1 -0
  281. package/bin/ECS/Utils/SparseSet.d.ts +170 -0
  282. package/bin/ECS/Utils/SparseSet.d.ts.map +1 -0
  283. package/bin/ECS/Utils/SparseSet.js +280 -0
  284. package/bin/ECS/Utils/SparseSet.js.map +1 -0
  285. package/bin/ECS/Utils/index.d.ts +9 -0
  286. package/bin/ECS/Utils/index.d.ts.map +1 -0
  287. package/bin/ECS/Utils/index.js +10 -0
  288. package/bin/ECS/Utils/index.js.map +1 -0
  289. package/bin/ECS/World.d.ts +238 -0
  290. package/bin/ECS/World.d.ts.map +1 -0
  291. package/bin/ECS/World.js +416 -0
  292. package/bin/ECS/World.js.map +1 -0
  293. package/bin/ECS/WorldManager.d.ts +224 -0
  294. package/bin/ECS/WorldManager.d.ts.map +1 -0
  295. package/bin/ECS/WorldManager.js +365 -0
  296. package/bin/ECS/WorldManager.js.map +1 -0
  297. package/bin/ECS/index.d.ts +26 -0
  298. package/bin/ECS/index.d.ts.map +1 -0
  299. package/bin/ECS/index.js +21 -0
  300. package/bin/ECS/index.js.map +1 -0
  301. package/bin/Platform/IPlatformAdapter.d.ts +169 -0
  302. package/bin/Platform/IPlatformAdapter.d.ts.map +1 -0
  303. package/bin/Platform/IPlatformAdapter.js +2 -0
  304. package/bin/Platform/IPlatformAdapter.js.map +1 -0
  305. package/bin/Platform/PlatformDetector.d.ts +56 -0
  306. package/bin/Platform/PlatformDetector.d.ts.map +1 -0
  307. package/bin/Platform/PlatformDetector.js +247 -0
  308. package/bin/Platform/PlatformDetector.js.map +1 -0
  309. package/bin/Platform/PlatformManager.d.ts +50 -0
  310. package/bin/Platform/PlatformManager.d.ts.map +1 -0
  311. package/bin/Platform/PlatformManager.js +114 -0
  312. package/bin/Platform/PlatformManager.js.map +1 -0
  313. package/bin/Platform/index.d.ts +19 -0
  314. package/bin/Platform/index.d.ts.map +1 -0
  315. package/bin/Platform/index.js +29 -0
  316. package/bin/Platform/index.js.map +1 -0
  317. package/bin/Plugins/DebugPlugin.d.ts +156 -0
  318. package/bin/Plugins/DebugPlugin.d.ts.map +1 -0
  319. package/bin/Plugins/DebugPlugin.js +248 -0
  320. package/bin/Plugins/DebugPlugin.js.map +1 -0
  321. package/bin/Plugins/index.d.ts +2 -0
  322. package/bin/Plugins/index.d.ts.map +1 -0
  323. package/bin/Plugins/index.js +2 -0
  324. package/bin/Plugins/index.js.map +1 -0
  325. package/bin/Types/IUpdatable.d.ts +18 -0
  326. package/bin/Types/IUpdatable.d.ts.map +1 -0
  327. package/bin/Types/IUpdatable.js +7 -0
  328. package/bin/Types/IUpdatable.js.map +1 -0
  329. package/bin/Types/TypeHelpers.d.ts +238 -0
  330. package/bin/Types/TypeHelpers.d.ts.map +1 -0
  331. package/bin/Types/TypeHelpers.js +19 -0
  332. package/bin/Types/TypeHelpers.js.map +1 -0
  333. package/bin/Types/index.d.ts +466 -0
  334. package/bin/Types/index.d.ts.map +1 -0
  335. package/bin/Types/index.js +7 -0
  336. package/bin/Types/index.js.map +1 -0
  337. package/bin/Utils/BinarySerializer.d.ts +23 -0
  338. package/bin/Utils/BinarySerializer.d.ts.map +1 -0
  339. package/bin/Utils/BinarySerializer.js +100 -0
  340. package/bin/Utils/BinarySerializer.js.map +1 -0
  341. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +153 -0
  342. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +1 -0
  343. package/bin/Utils/Debug/AdvancedProfilerCollector.js +406 -0
  344. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +1 -0
  345. package/bin/Utils/Debug/ComponentDataCollector.d.ts +32 -0
  346. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +1 -0
  347. package/bin/Utils/Debug/ComponentDataCollector.js +250 -0
  348. package/bin/Utils/Debug/ComponentDataCollector.js.map +1 -0
  349. package/bin/Utils/Debug/DebugConfigService.d.ts +16 -0
  350. package/bin/Utils/Debug/DebugConfigService.d.ts.map +1 -0
  351. package/bin/Utils/Debug/DebugConfigService.js +42 -0
  352. package/bin/Utils/Debug/DebugConfigService.js.map +1 -0
  353. package/bin/Utils/Debug/DebugManager.d.ts +131 -0
  354. package/bin/Utils/Debug/DebugManager.d.ts.map +1 -0
  355. package/bin/Utils/Debug/DebugManager.js +848 -0
  356. package/bin/Utils/Debug/DebugManager.js.map +1 -0
  357. package/bin/Utils/Debug/EntityDataCollector.d.ts +115 -0
  358. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +1 -0
  359. package/bin/Utils/Debug/EntityDataCollector.js +870 -0
  360. package/bin/Utils/Debug/EntityDataCollector.js.map +1 -0
  361. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +31 -0
  362. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +1 -0
  363. package/bin/Utils/Debug/PerformanceDataCollector.js +203 -0
  364. package/bin/Utils/Debug/PerformanceDataCollector.js.map +1 -0
  365. package/bin/Utils/Debug/SceneDataCollector.d.ts +18 -0
  366. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +1 -0
  367. package/bin/Utils/Debug/SceneDataCollector.js +43 -0
  368. package/bin/Utils/Debug/SceneDataCollector.js.map +1 -0
  369. package/bin/Utils/Debug/SystemDataCollector.d.ts +14 -0
  370. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +1 -0
  371. package/bin/Utils/Debug/SystemDataCollector.js +60 -0
  372. package/bin/Utils/Debug/SystemDataCollector.js.map +1 -0
  373. package/bin/Utils/Debug/WebSocketManager.d.ts +54 -0
  374. package/bin/Utils/Debug/WebSocketManager.d.ts.map +1 -0
  375. package/bin/Utils/Debug/WebSocketManager.js +141 -0
  376. package/bin/Utils/Debug/WebSocketManager.js.map +1 -0
  377. package/bin/Utils/Debug/index.d.ts +11 -0
  378. package/bin/Utils/Debug/index.d.ts.map +1 -0
  379. package/bin/Utils/Debug/index.js +10 -0
  380. package/bin/Utils/Debug/index.js.map +1 -0
  381. package/bin/Utils/Emitter.d.ts +61 -0
  382. package/bin/Utils/Emitter.d.ts.map +1 -0
  383. package/bin/Utils/Emitter.js +101 -0
  384. package/bin/Utils/Emitter.js.map +1 -0
  385. package/bin/Utils/Extensions/NumberExtension.d.ts +13 -0
  386. package/bin/Utils/Extensions/NumberExtension.d.ts.map +1 -0
  387. package/bin/Utils/Extensions/NumberExtension.js +17 -0
  388. package/bin/Utils/Extensions/NumberExtension.js.map +1 -0
  389. package/bin/Utils/Extensions/TypeUtils.d.ts +13 -0
  390. package/bin/Utils/Extensions/TypeUtils.d.ts.map +1 -0
  391. package/bin/Utils/Extensions/TypeUtils.js +15 -0
  392. package/bin/Utils/Extensions/TypeUtils.js.map +1 -0
  393. package/bin/Utils/Extensions/index.d.ts +3 -0
  394. package/bin/Utils/Extensions/index.d.ts.map +1 -0
  395. package/bin/Utils/Extensions/index.js +4 -0
  396. package/bin/Utils/Extensions/index.js.map +1 -0
  397. package/bin/Utils/GlobalManager.d.ts +29 -0
  398. package/bin/Utils/GlobalManager.d.ts.map +1 -0
  399. package/bin/Utils/GlobalManager.js +50 -0
  400. package/bin/Utils/GlobalManager.js.map +1 -0
  401. package/bin/Utils/Logger/ConsoleLogger.d.ts +74 -0
  402. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +1 -0
  403. package/bin/Utils/Logger/ConsoleLogger.js +187 -0
  404. package/bin/Utils/Logger/ConsoleLogger.js.map +1 -0
  405. package/bin/Utils/Logger/Constants.d.ts +36 -0
  406. package/bin/Utils/Logger/Constants.d.ts.map +1 -0
  407. package/bin/Utils/Logger/Constants.js +40 -0
  408. package/bin/Utils/Logger/Constants.js.map +1 -0
  409. package/bin/Utils/Logger/LoggerManager.d.ts +91 -0
  410. package/bin/Utils/Logger/LoggerManager.d.ts.map +1 -0
  411. package/bin/Utils/Logger/LoggerManager.js +167 -0
  412. package/bin/Utils/Logger/LoggerManager.js.map +1 -0
  413. package/bin/Utils/Logger/Types.d.ts +40 -0
  414. package/bin/Utils/Logger/Types.d.ts.map +1 -0
  415. package/bin/Utils/Logger/Types.js +2 -0
  416. package/bin/Utils/Logger/Types.js.map +1 -0
  417. package/bin/Utils/Logger/index.d.ts +5 -0
  418. package/bin/Utils/Logger/index.d.ts.map +1 -0
  419. package/bin/Utils/Logger/index.js +5 -0
  420. package/bin/Utils/Logger/index.js.map +1 -0
  421. package/bin/Utils/PerformanceMonitor.d.ts +196 -0
  422. package/bin/Utils/PerformanceMonitor.d.ts.map +1 -0
  423. package/bin/Utils/PerformanceMonitor.js +244 -0
  424. package/bin/Utils/PerformanceMonitor.js.map +1 -0
  425. package/bin/Utils/Pool/IPoolable.d.ts +29 -0
  426. package/bin/Utils/Pool/IPoolable.d.ts.map +1 -0
  427. package/bin/Utils/Pool/IPoolable.js +2 -0
  428. package/bin/Utils/Pool/IPoolable.js.map +1 -0
  429. package/bin/Utils/Pool/Pool.d.ts +109 -0
  430. package/bin/Utils/Pool/Pool.d.ts.map +1 -0
  431. package/bin/Utils/Pool/Pool.js +238 -0
  432. package/bin/Utils/Pool/Pool.js.map +1 -0
  433. package/bin/Utils/Pool/PoolManager.d.ts +96 -0
  434. package/bin/Utils/Pool/PoolManager.d.ts.map +1 -0
  435. package/bin/Utils/Pool/PoolManager.js +199 -0
  436. package/bin/Utils/Pool/PoolManager.js.map +1 -0
  437. package/bin/Utils/Pool/index.d.ts +4 -0
  438. package/bin/Utils/Pool/index.d.ts.map +1 -0
  439. package/bin/Utils/Pool/index.js +4 -0
  440. package/bin/Utils/Pool/index.js.map +1 -0
  441. package/bin/Utils/Profiler/AutoProfiler.d.ts +160 -0
  442. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +1 -0
  443. package/bin/Utils/Profiler/AutoProfiler.js +503 -0
  444. package/bin/Utils/Profiler/AutoProfiler.js.map +1 -0
  445. package/bin/Utils/Profiler/ProfilerSDK.d.ts +175 -0
  446. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +1 -0
  447. package/bin/Utils/Profiler/ProfilerSDK.js +727 -0
  448. package/bin/Utils/Profiler/ProfilerSDK.js.map +1 -0
  449. package/bin/Utils/Profiler/ProfilerTypes.d.ts +218 -0
  450. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +1 -0
  451. package/bin/Utils/Profiler/ProfilerTypes.js +47 -0
  452. package/bin/Utils/Profiler/ProfilerTypes.js.map +1 -0
  453. package/bin/Utils/Profiler/index.d.ts +8 -0
  454. package/bin/Utils/Profiler/index.d.ts.map +1 -0
  455. package/bin/Utils/Profiler/index.js +7 -0
  456. package/bin/Utils/Profiler/index.js.map +1 -0
  457. package/bin/Utils/Time.d.ts +47 -0
  458. package/bin/Utils/Time.d.ts.map +1 -0
  459. package/bin/Utils/Time.js +64 -0
  460. package/bin/Utils/Time.js.map +1 -0
  461. package/bin/Utils/Timers/ITimer.d.ts +16 -0
  462. package/bin/Utils/Timers/ITimer.d.ts.map +1 -0
  463. package/bin/Utils/Timers/ITimer.js +2 -0
  464. package/bin/Utils/Timers/ITimer.js.map +1 -0
  465. package/bin/Utils/Timers/Timer.d.ts +30 -0
  466. package/bin/Utils/Timers/Timer.d.ts.map +1 -0
  467. package/bin/Utils/Timers/Timer.js +58 -0
  468. package/bin/Utils/Timers/Timer.js.map +1 -0
  469. package/bin/Utils/Timers/TimerManager.d.ts +26 -0
  470. package/bin/Utils/Timers/TimerManager.d.ts.map +1 -0
  471. package/bin/Utils/Timers/TimerManager.js +48 -0
  472. package/bin/Utils/Timers/TimerManager.js.map +1 -0
  473. package/bin/Utils/index.d.ts +11 -0
  474. package/bin/Utils/index.d.ts.map +1 -0
  475. package/bin/Utils/index.js +11 -0
  476. package/bin/Utils/index.js.map +1 -0
  477. package/bin/index.d.ts +29 -0
  478. package/bin/index.d.ts.map +1 -0
  479. package/bin/index.js +36 -0
  480. package/bin/index.js.map +1 -0
  481. package/package.json +84 -47
  482. package/index.cjs +0 -2
  483. package/index.cjs.map +0 -1
  484. package/index.d.ts +0 -13129
  485. package/index.es5.js +0 -4
  486. package/index.es5.js.map +0 -1
  487. package/index.mjs +0 -2
  488. package/index.mjs.map +0 -1
  489. package/index.umd.js +0 -4
  490. package/index.umd.js.map +0 -1
@@ -0,0 +1,347 @@
1
+ import { ComponentRegistry } from '../Core/ComponentStorage';
2
+ import { BitMask64Utils } from './BigIntCompatibility';
3
+ import { SparseSet } from './SparseSet';
4
+ import { Pool } from '../../Utils/Pool/Pool';
5
+ /**
6
+ * 可池化的实体集合
7
+ *
8
+ * 实现IPoolable接口,支持对象池复用以减少内存分配开销。
9
+ */
10
+ class PoolableEntitySet extends Set {
11
+ constructor(..._args) {
12
+ super();
13
+ }
14
+ reset() {
15
+ this.clear();
16
+ }
17
+ }
18
+ /**
19
+ * 组件稀疏集合实现
20
+ *
21
+ * 结合通用稀疏集合和组件位掩码
22
+ *
23
+ * 存储结构:
24
+ * - 稀疏集合存储实体
25
+ * - 位掩码数组存储组件信息
26
+ * - 组件类型映射表
27
+ */
28
+ export class ComponentSparseSet {
29
+ constructor() {
30
+ /**
31
+ * 组件位掩码数组
32
+ *
33
+ * 与实体稀疏集合的密集数组对应,存储每个实体的组件位掩码。
34
+ * 数组索引与稀疏集合的密集数组索引一一对应。
35
+ */
36
+ this._componentMasks = [];
37
+ /**
38
+ * 组件类型到实体集合的映射
39
+ *
40
+ * 维护每个组件类型对应的实体集合,用于快速的单组件查询。
41
+ */
42
+ this._componentToEntities = new Map();
43
+ this._entities = new SparseSet();
44
+ }
45
+ /**
46
+ * 添加实体到组件索引
47
+ *
48
+ * 分析实体的组件组成,生成位掩码,并更新所有相关索引。
49
+ *
50
+ * @param entity 要添加的实体
51
+ */
52
+ addEntity(entity) {
53
+ // 如果实体已存在,先移除旧数据
54
+ if (this._entities.has(entity)) {
55
+ this.removeEntity(entity);
56
+ }
57
+ const componentMask = BitMask64Utils.clone(BitMask64Utils.ZERO);
58
+ const entityComponents = new Set();
59
+ // 分析实体组件并构建位掩码
60
+ for (const component of entity.components) {
61
+ const componentType = component.constructor;
62
+ entityComponents.add(componentType);
63
+ // 确保组件类型已注册
64
+ if (!ComponentRegistry.isRegistered(componentType)) {
65
+ ComponentRegistry.register(componentType);
66
+ }
67
+ // 获取组件位掩码并合并
68
+ const bitMask = ComponentRegistry.getBitMask(componentType);
69
+ BitMask64Utils.orInPlace(componentMask, bitMask);
70
+ }
71
+ // 添加实体到稀疏集合
72
+ this._entities.add(entity);
73
+ const entityIndex = this._entities.getIndex(entity);
74
+ // 确保位掩码数组有足够空间
75
+ while (this._componentMasks.length <= entityIndex) {
76
+ this._componentMasks.push(BitMask64Utils.clone(BitMask64Utils.ZERO));
77
+ }
78
+ this._componentMasks[entityIndex] = componentMask;
79
+ // 更新组件类型到实体的映射
80
+ this.updateComponentMappings(entity, entityComponents, true);
81
+ }
82
+ /**
83
+ * 从组件索引中移除实体
84
+ *
85
+ * 清理实体相关的所有索引数据,保持数据结构的紧凑性。
86
+ *
87
+ * @param entity 要移除的实体
88
+ */
89
+ removeEntity(entity) {
90
+ const entityIndex = this._entities.getIndex(entity);
91
+ if (entityIndex === undefined) {
92
+ return; // 实体不存在
93
+ }
94
+ // 获取实体的组件类型集合
95
+ const entityComponents = this.getEntityComponentTypes(entity);
96
+ // 更新组件类型到实体的映射
97
+ this.updateComponentMappings(entity, entityComponents, false);
98
+ // 从稀疏集合中移除实体
99
+ this._entities.remove(entity);
100
+ // 维护位掩码数组的紧凑性
101
+ const lastIndex = this._componentMasks.length - 1;
102
+ if (entityIndex !== lastIndex) {
103
+ // 将最后一个位掩码移动到当前位置
104
+ this._componentMasks[entityIndex] = this._componentMasks[lastIndex];
105
+ }
106
+ this._componentMasks.pop();
107
+ }
108
+ /**
109
+ * 查询包含指定组件的所有实体
110
+ *
111
+ * @param componentType 组件类型
112
+ * @returns 包含该组件的实体集合
113
+ */
114
+ queryByComponent(componentType) {
115
+ const entities = this._componentToEntities.get(componentType);
116
+ return entities ? new Set(entities) : new Set();
117
+ }
118
+ /**
119
+ * 多组件查询(AND操作)
120
+ *
121
+ * 查找同时包含所有指定组件的实体。
122
+ *
123
+ * @param componentTypes 组件类型数组
124
+ * @returns 满足条件的实体集合
125
+ */
126
+ queryMultipleAnd(componentTypes) {
127
+ if (componentTypes.length === 0) {
128
+ return new Set();
129
+ }
130
+ if (componentTypes.length === 1) {
131
+ return this.queryByComponent(componentTypes[0]);
132
+ }
133
+ // 构建目标位掩码
134
+ const targetMask = BitMask64Utils.clone(BitMask64Utils.ZERO);
135
+ for (const componentType of componentTypes) {
136
+ if (!ComponentRegistry.isRegistered(componentType)) {
137
+ return new Set(); // 未注册的组件类型,结果为空
138
+ }
139
+ const bitMask = ComponentRegistry.getBitMask(componentType);
140
+ BitMask64Utils.orInPlace(targetMask, bitMask);
141
+ }
142
+ const result = ComponentSparseSet._entitySetPool.obtain();
143
+ // 遍历所有实体,检查位掩码匹配
144
+ this._entities.forEach((entity, index) => {
145
+ const entityMask = this._componentMasks[index];
146
+ if (BitMask64Utils.hasAll(entityMask, targetMask)) {
147
+ result.add(entity);
148
+ }
149
+ });
150
+ return result;
151
+ }
152
+ /**
153
+ * 多组件查询(OR操作)
154
+ *
155
+ * 查找包含任意一个指定组件的实体。
156
+ *
157
+ * @param componentTypes 组件类型数组
158
+ * @returns 满足条件的实体集合
159
+ */
160
+ queryMultipleOr(componentTypes) {
161
+ if (componentTypes.length === 0) {
162
+ return new Set();
163
+ }
164
+ if (componentTypes.length === 1) {
165
+ return this.queryByComponent(componentTypes[0]);
166
+ }
167
+ // 构建目标位掩码
168
+ const targetMask = BitMask64Utils.clone(BitMask64Utils.ZERO);
169
+ for (const componentType of componentTypes) {
170
+ if (ComponentRegistry.isRegistered(componentType)) {
171
+ const bitMask = ComponentRegistry.getBitMask(componentType);
172
+ BitMask64Utils.orInPlace(targetMask, bitMask);
173
+ }
174
+ }
175
+ if (BitMask64Utils.equals(targetMask, BitMask64Utils.ZERO)) {
176
+ return new Set(); // 没有有效的组件类型
177
+ }
178
+ const result = ComponentSparseSet._entitySetPool.obtain();
179
+ // 遍历所有实体,检查位掩码匹配
180
+ this._entities.forEach((entity, index) => {
181
+ const entityMask = this._componentMasks[index];
182
+ if (BitMask64Utils.hasAny(entityMask, targetMask)) {
183
+ result.add(entity);
184
+ }
185
+ });
186
+ return result;
187
+ }
188
+ /**
189
+ * 检查实体是否包含指定组件
190
+ *
191
+ * @param entity 实体
192
+ * @param componentType 组件类型
193
+ * @returns 是否包含该组件
194
+ */
195
+ hasComponent(entity, componentType) {
196
+ const entityIndex = this._entities.getIndex(entity);
197
+ if (entityIndex === undefined) {
198
+ return false;
199
+ }
200
+ if (!ComponentRegistry.isRegistered(componentType)) {
201
+ return false;
202
+ }
203
+ const entityMask = this._componentMasks[entityIndex];
204
+ const componentMask = ComponentRegistry.getBitMask(componentType);
205
+ return BitMask64Utils.hasAny(entityMask, componentMask);
206
+ }
207
+ /**
208
+ * 获取实体的组件位掩码
209
+ *
210
+ * @param entity 实体
211
+ * @returns 组件位掩码,如果实体不存在则返回undefined
212
+ */
213
+ getEntityMask(entity) {
214
+ const entityIndex = this._entities.getIndex(entity);
215
+ if (entityIndex === undefined) {
216
+ return undefined;
217
+ }
218
+ return this._componentMasks[entityIndex];
219
+ }
220
+ /**
221
+ * 获取所有实体
222
+ *
223
+ * @returns 所有实体的数组
224
+ */
225
+ getAllEntities() {
226
+ return this._entities.toArray();
227
+ }
228
+ /**
229
+ * 获取实体数量
230
+ */
231
+ get size() {
232
+ return this._entities.size;
233
+ }
234
+ /**
235
+ * 检查是否为空
236
+ */
237
+ get isEmpty() {
238
+ return this._entities.isEmpty;
239
+ }
240
+ /**
241
+ * 遍历所有实体
242
+ *
243
+ * @param callback 遍历回调函数
244
+ */
245
+ forEach(callback) {
246
+ this._entities.forEach((entity, index) => {
247
+ callback(entity, this._componentMasks[index], index);
248
+ });
249
+ }
250
+ /**
251
+ * 清空所有数据
252
+ */
253
+ clear() {
254
+ this._entities.clear();
255
+ this._componentMasks.length = 0;
256
+ // 清理时将所有持有的实体集合返回到池中
257
+ for (const entitySet of this._componentToEntities.values()) {
258
+ ComponentSparseSet._entitySetPool.release(entitySet);
259
+ }
260
+ this._componentToEntities.clear();
261
+ }
262
+ /**
263
+ * 获取内存使用统计
264
+ */
265
+ getMemoryStats() {
266
+ const entitiesStats = this._entities.getMemoryStats();
267
+ const masksMemory = this._componentMasks.length * 16; // 估计每个BigInt 16字节
268
+ let mappingsMemory = this._componentToEntities.size * 16; // Map条目开销
269
+ for (const entitySet of this._componentToEntities.values()) {
270
+ mappingsMemory += entitySet.size * 8; // 每个实体引用8字节
271
+ }
272
+ return {
273
+ entitiesMemory: entitiesStats.totalMemory,
274
+ masksMemory,
275
+ mappingsMemory,
276
+ totalMemory: entitiesStats.totalMemory + masksMemory + mappingsMemory
277
+ };
278
+ }
279
+ /**
280
+ * 验证数据结构完整性
281
+ */
282
+ validate() {
283
+ // 检查稀疏集合的有效性
284
+ if (!this._entities.validate()) {
285
+ return false;
286
+ }
287
+ // 检查位掩码数组长度一致性
288
+ if (this._componentMasks.length !== this._entities.size) {
289
+ return false;
290
+ }
291
+ // 检查组件映射的一致性
292
+ const allMappedEntities = new Set();
293
+ for (const entitySet of this._componentToEntities.values()) {
294
+ for (const entity of entitySet) {
295
+ allMappedEntities.add(entity);
296
+ }
297
+ }
298
+ // 验证映射中的实体都在稀疏集合中
299
+ for (const entity of allMappedEntities) {
300
+ if (!this._entities.has(entity)) {
301
+ return false;
302
+ }
303
+ }
304
+ return true;
305
+ }
306
+ /**
307
+ * 获取实体的组件类型集合
308
+ */
309
+ getEntityComponentTypes(entity) {
310
+ const componentTypes = new Set();
311
+ for (const component of entity.components) {
312
+ componentTypes.add(component.constructor);
313
+ }
314
+ return componentTypes;
315
+ }
316
+ /**
317
+ * 更新组件类型到实体的映射
318
+ */
319
+ updateComponentMappings(entity, componentTypes, add) {
320
+ for (const componentType of componentTypes) {
321
+ let entities = this._componentToEntities.get(componentType);
322
+ if (add) {
323
+ if (!entities) {
324
+ entities = ComponentSparseSet._entitySetPool.obtain();
325
+ this._componentToEntities.set(componentType, entities);
326
+ }
327
+ entities.add(entity);
328
+ }
329
+ else {
330
+ if (entities) {
331
+ entities.delete(entity);
332
+ if (entities.size === 0) {
333
+ this._componentToEntities.delete(componentType);
334
+ ComponentSparseSet._entitySetPool.release(entities);
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
340
+ }
341
+ /**
342
+ * 实体集合对象池
343
+ *
344
+ * 使用core库的Pool系统来管理PoolableEntitySet对象的复用。
345
+ */
346
+ ComponentSparseSet._entitySetPool = Pool.getPool(PoolableEntitySet, 50, 512);
347
+ //# sourceMappingURL=ComponentSparseSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentSparseSet.js","sourceRoot":"","sources":["../../../src/ECS/Utils/ComponentSparseSet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { Entity } from '../Entity';
2
+ import { Component } from '../Component';
3
+ /**
4
+ * 高性能实体列表管理器
5
+ * 管理场景中的所有实体,支持快速查找和批量操作
6
+ */
7
+ export declare class EntityList {
8
+ buffer: Entity[];
9
+ private _scene;
10
+ private _idToEntity;
11
+ private _nameToEntities;
12
+ private _entitiesToAdd;
13
+ private _entitiesToRemove;
14
+ get count(): number;
15
+ constructor(scene: any);
16
+ /**
17
+ * 添加实体
18
+ * @param entity 要添加的实体
19
+ */
20
+ add(entity: Entity): void;
21
+ /**
22
+ * 立即添加实体
23
+ * @param entity 要添加的实体
24
+ */
25
+ private addImmediate;
26
+ /**
27
+ * 移除实体
28
+ * @param entity 要移除的实体
29
+ */
30
+ remove(entity: Entity): void;
31
+ /**
32
+ * 立即移除实体
33
+ * @param entity 要移除的实体
34
+ */
35
+ private removeImmediate;
36
+ /**
37
+ * 移除所有实体
38
+ */
39
+ removeAllEntities(): void;
40
+ /**
41
+ * 更新实体列表,处理延迟操作
42
+ */
43
+ updateLists(): void;
44
+ /**
45
+ * 更新实体列表
46
+ *
47
+ * 处理延迟操作(添加/删除实体)
48
+ */
49
+ update(): void;
50
+ /**
51
+ * 根据名称查找实体(使用索引,O(1)复杂度)
52
+ * @param name 实体名称
53
+ * @returns 找到的第一个实体或null
54
+ */
55
+ findEntity(name: string): Entity | null;
56
+ /**
57
+ * 根据名称查找所有实体
58
+ * @param name 实体名称
59
+ * @returns 找到的所有实体数组
60
+ */
61
+ findEntitiesByName(name: string): Entity[];
62
+ /**
63
+ * 根据ID查找实体(使用索引,O(1)复杂度)
64
+ * @param id 实体ID
65
+ * @returns 找到的实体或null
66
+ */
67
+ findEntityById(id: number): Entity | null;
68
+ /**
69
+ * 根据标签查找实体
70
+ * @param tag 标签
71
+ * @returns 找到的所有实体数组
72
+ */
73
+ findEntitiesByTag(tag: number): Entity[];
74
+ /**
75
+ * 根据组件类型查找实体
76
+ * @param componentType 组件类型
77
+ * @returns 找到的所有实体数组
78
+ */
79
+ findEntitiesWithComponent<T extends Component>(componentType: new (...args: any[]) => T): Entity[];
80
+ /**
81
+ * 批量操作:对所有实体执行指定操作
82
+ * @param action 要执行的操作
83
+ */
84
+ forEach(action: (entity: Entity) => void): void;
85
+ /**
86
+ * 批量操作:对符合条件的实体执行指定操作
87
+ * @param predicate 筛选条件
88
+ * @param action 要执行的操作
89
+ */
90
+ forEachWhere(predicate: (entity: Entity) => boolean, action: (entity: Entity) => void): void;
91
+ /**
92
+ * 更新名称索引
93
+ * @param entity 实体
94
+ * @param isAdd 是否为添加操作
95
+ */
96
+ private updateNameIndex;
97
+ /**
98
+ * 重新排序实体
99
+ * @param entityId 要移动的实体ID
100
+ * @param newIndex 新的索引位置
101
+ */
102
+ reorderEntity(entityId: number, newIndex: number): void;
103
+ /**
104
+ * 获取实体列表的统计信息
105
+ * @returns 统计信息
106
+ */
107
+ getStats(): {
108
+ totalEntities: number;
109
+ activeEntities: number;
110
+ pendingAdd: number;
111
+ pendingRemove: number;
112
+ nameIndexSize: number;
113
+ };
114
+ }
115
+ //# sourceMappingURL=EntityList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityList.d.ts","sourceRoot":"","sources":["../../../src/ECS/Utils/EntityList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;GAGG;AACH,qBAAa,UAAU;IACZ,MAAM,EAAE,MAAM,EAAE,CAAM;IAC7B,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,eAAe,CAA+B;IAGtD,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,iBAAiB,CAAgB;IAEzC,IAAW,KAAK,IAAI,MAAM,CAEzB;gBAEW,KAAK,EAAE,GAAG;IAItB;;;OAGG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAInC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAuBhC;;OAEG;IACI,WAAW,IAAI,IAAI;IAkB1B;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAKrB;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK9C;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIjD;;;;OAIG;IACI,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIhD;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAY/C;;;;OAIG;IACI,yBAAyB,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE;IAYzG;;;OAGG;IACI,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAMtD;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAQnG;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA4BvB;;;;OAIG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgB9D;;;OAGG;IACI,QAAQ,IAAI;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACrB;CAgBR"}