@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,325 +0,0 @@
1
- /**
2
- * 世代式ID池管理器
3
- *
4
- * 用于管理实体ID的分配和回收,支持世代版本控制以防止悬空引用问题。
5
- * 世代式ID由索引和版本组成,当ID被回收时版本会递增,确保旧引用失效。
6
- *
7
- * 支持动态扩展,理论上可以支持到65535个索引(16位),每个索引65535个版本(16位)。
8
- * 总计可以处理超过42亿个独特的ID组合,完全满足ECS大规模实体需求。
9
- *
10
- * @example
11
- * ```typescript
12
- * const pool = new IdentifierPool();
13
- *
14
- * // 分配ID
15
- * const id = pool.checkOut(); // 例如: 65536 (版本1,索引0)
16
- *
17
- * // 回收ID
18
- * pool.checkIn(id);
19
- *
20
- * // 验证ID是否有效
21
- * const isValid = pool.isValid(id); // false,因为版本已递增
22
- * ```
23
- */
24
- export class IdentifierPool {
25
- /**
26
- * 构造函数
27
- *
28
- * @param recycleDelay 延迟回收时间(毫秒),默认为100ms
29
- * @param expansionBlockSize 内存扩展块大小,默认为1024
30
- */
31
- constructor(recycleDelay = 100, expansionBlockSize = 1024) {
32
- /**
33
- * 下一个可用的索引
34
- */
35
- this._nextAvailableIndex = 0;
36
- /**
37
- * 空闲的索引列表
38
- */
39
- this._freeIndices = [];
40
- /**
41
- * 每个索引对应的世代版本
42
- * 动态扩展的Map,按需分配内存
43
- */
44
- this._generations = new Map();
45
- /**
46
- * 延迟回收队列
47
- * 防止在同一帧内立即重用ID,避免时序问题
48
- */
49
- this._pendingRecycle = [];
50
- /**
51
- * 延迟回收时间(毫秒)
52
- */
53
- this._recycleDelay = 100;
54
- /**
55
- * 统计信息
56
- */
57
- this._stats = {
58
- totalAllocated: 0,
59
- totalRecycled: 0,
60
- currentActive: 0,
61
- memoryExpansions: 0
62
- };
63
- this._recycleDelay = recycleDelay;
64
- this._expansionBlockSize = expansionBlockSize;
65
- // 预分配第一个块的世代信息
66
- this._preAllocateGenerations(0, this._expansionBlockSize);
67
- }
68
- /**
69
- * 获取一个可用的ID
70
- *
71
- * 返回一个32位ID,高16位为世代版本,低16位为索引。
72
- *
73
- * @returns 新分配的实体ID
74
- * @throws {Error} 当达到索引限制时抛出错误
75
- */
76
- checkOut() {
77
- // 处理延迟回收队列
78
- this._processDelayedRecycle();
79
- let index;
80
- if (this._freeIndices.length > 0) {
81
- // 重用回收的索引
82
- index = this._freeIndices.pop();
83
- }
84
- else {
85
- // 分配新索引
86
- if (this._nextAvailableIndex > IdentifierPool.MAX_INDEX) {
87
- throw new Error(`实体索引已达到框架设计限制 (${IdentifierPool.MAX_INDEX})。` +
88
- '这意味着您已经分配了超过65535个不同的实体索引。' +
89
- '这是16位索引设计的限制,考虑优化实体回收策略或升级到64位ID设计。');
90
- }
91
- index = this._nextAvailableIndex++;
92
- // 按需扩展世代存储
93
- this._ensureGenerationCapacity(index);
94
- }
95
- const generation = this._generations.get(index) || 1;
96
- this._stats.totalAllocated++;
97
- this._stats.currentActive++;
98
- return this._packId(index, generation);
99
- }
100
- /**
101
- * 回收一个ID
102
- *
103
- * 验证ID的有效性后,将其加入延迟回收队列。
104
- * ID不会立即可重用,而是在延迟时间后才真正回收。
105
- *
106
- * @param id 要回收的实体ID
107
- * @returns 是否成功回收(ID是否有效且未被重复回收)
108
- */
109
- checkIn(id) {
110
- const index = this._unpackIndex(id);
111
- const generation = this._unpackGeneration(id);
112
- // 验证ID有效性
113
- if (!this._isValidId(index, generation)) {
114
- return false;
115
- }
116
- // 检查是否已经在待回收队列中
117
- const alreadyPending = this._pendingRecycle.some((item) => item.index === index && item.generation === generation);
118
- if (alreadyPending) {
119
- return false; // 已经在回收队列中,拒绝重复回收
120
- }
121
- // 加入延迟回收队列
122
- this._pendingRecycle.push({
123
- index,
124
- generation,
125
- timestamp: Date.now()
126
- });
127
- this._stats.currentActive--;
128
- this._stats.totalRecycled++;
129
- return true;
130
- }
131
- /**
132
- * 验证ID是否有效
133
- *
134
- * 检查ID的索引和世代版本是否匹配当前状态。
135
- *
136
- * @param id 要验证的实体ID
137
- * @returns ID是否有效
138
- */
139
- isValid(id) {
140
- const index = this._unpackIndex(id);
141
- const generation = this._unpackGeneration(id);
142
- return this._isValidId(index, generation);
143
- }
144
- /**
145
- * 获取统计信息
146
- *
147
- * @returns 池的当前状态统计
148
- */
149
- getStats() {
150
- // 计算平均世代版本
151
- let totalGeneration = 0;
152
- let generationCount = 0;
153
- for (const [index, generation] of this._generations) {
154
- if (index < this._nextAvailableIndex) {
155
- totalGeneration += generation;
156
- generationCount++;
157
- }
158
- }
159
- const averageGeneration = generationCount > 0
160
- ? totalGeneration / generationCount
161
- : 1;
162
- return {
163
- totalAllocated: this._stats.totalAllocated,
164
- totalRecycled: this._stats.totalRecycled,
165
- currentActive: this._stats.currentActive,
166
- currentlyFree: this._freeIndices.length,
167
- pendingRecycle: this._pendingRecycle.length,
168
- maxPossibleEntities: IdentifierPool.MAX_INDEX + 1,
169
- maxUsedIndex: this._nextAvailableIndex - 1,
170
- memoryUsage: this._calculateMemoryUsage(),
171
- memoryExpansions: this._stats.memoryExpansions,
172
- averageGeneration: Math.round(averageGeneration * 100) / 100,
173
- generationStorageSize: this._generations.size
174
- };
175
- }
176
- /**
177
- * 强制执行延迟回收处理
178
- *
179
- * 在某些情况下可能需要立即处理延迟回收队列,
180
- * 比如内存压力大或者需要精确的统计信息时。
181
- */
182
- forceProcessDelayedRecycle() {
183
- this._processDelayedRecycle(true);
184
- }
185
- /**
186
- * 清理过期的延迟回收项
187
- *
188
- * 将超过延迟时间的回收项真正回收到空闲列表中。
189
- *
190
- * @param forceAll 是否强制处理所有延迟回收项
191
- * @private
192
- */
193
- _processDelayedRecycle(forceAll = false) {
194
- if (this._pendingRecycle.length === 0)
195
- return;
196
- const now = Date.now();
197
- const readyToRecycle = [];
198
- const stillPending = [];
199
- // 分离已到期和未到期的项
200
- for (const item of this._pendingRecycle) {
201
- if (forceAll || now - item.timestamp >= this._recycleDelay) {
202
- readyToRecycle.push(item);
203
- }
204
- else {
205
- stillPending.push(item);
206
- }
207
- }
208
- // 处理到期的回收项
209
- for (const item of readyToRecycle) {
210
- // 再次验证ID有效性(防止重复回收)
211
- if (this._isValidId(item.index, item.generation)) {
212
- // 递增世代版本
213
- let newGeneration = item.generation + 1;
214
- // 防止世代版本溢出
215
- if (newGeneration > IdentifierPool.MAX_GENERATION) {
216
- newGeneration = 1; // 重置为1而不是0
217
- }
218
- this._generations.set(item.index, newGeneration);
219
- // 添加到空闲列表
220
- this._freeIndices.push(item.index);
221
- }
222
- }
223
- // 更新待回收队列
224
- this._pendingRecycle = stillPending;
225
- }
226
- /**
227
- * 预分配世代信息
228
- *
229
- * @param startIndex 起始索引
230
- * @param count 分配数量
231
- * @private
232
- */
233
- _preAllocateGenerations(startIndex, count) {
234
- for (let i = 0; i < count; i++) {
235
- const index = startIndex + i;
236
- if (index <= IdentifierPool.MAX_INDEX) {
237
- this._generations.set(index, 1);
238
- }
239
- }
240
- this._stats.memoryExpansions++;
241
- }
242
- /**
243
- * 确保指定索引的世代信息存在
244
- *
245
- * @param index 索引
246
- * @private
247
- */
248
- _ensureGenerationCapacity(index) {
249
- if (!this._generations.has(index)) {
250
- // 计算需要扩展的起始位置
251
- const expansionStart = Math.floor(index / this._expansionBlockSize) * this._expansionBlockSize;
252
- // 预分配一个块
253
- this._preAllocateGenerations(expansionStart, this._expansionBlockSize);
254
- }
255
- }
256
- /**
257
- * 计算内存使用量
258
- *
259
- * @returns 内存使用字节数
260
- * @private
261
- */
262
- _calculateMemoryUsage() {
263
- const generationMapSize = this._generations.size * 16; // Map overhead + number pair
264
- const freeIndicesSize = this._freeIndices.length * 8;
265
- const pendingRecycleSize = this._pendingRecycle.length * 32;
266
- return generationMapSize + freeIndicesSize + pendingRecycleSize;
267
- }
268
- /**
269
- * 打包索引和世代为32位ID
270
- *
271
- * @param index 索引(16位)
272
- * @param generation 世代版本(16位)
273
- * @returns 打包后的32位ID
274
- * @private
275
- */
276
- _packId(index, generation) {
277
- return (generation << 16) | index;
278
- }
279
- /**
280
- * 从ID中解包索引
281
- *
282
- * @param id 32位ID
283
- * @returns 索引部分(16位)
284
- * @private
285
- */
286
- _unpackIndex(id) {
287
- return id & 0xFFFF;
288
- }
289
- /**
290
- * 从ID中解包世代版本
291
- *
292
- * @param id 32位ID
293
- * @returns 世代版本部分(16位)
294
- * @private
295
- */
296
- _unpackGeneration(id) {
297
- return (id >>> 16) & 0xFFFF;
298
- }
299
- /**
300
- * 内部ID有效性检查
301
- *
302
- * @param index 索引
303
- * @param generation 世代版本
304
- * @returns 是否有效
305
- * @private
306
- */
307
- _isValidId(index, generation) {
308
- if (index < 0 || index >= this._nextAvailableIndex) {
309
- return false;
310
- }
311
- const currentGeneration = this._generations.get(index);
312
- return currentGeneration !== undefined && currentGeneration === generation;
313
- }
314
- }
315
- /**
316
- * 最大索引限制(16位)
317
- * 这是框架设计选择:16位索引 + 16位版本 = 32位ID,确保高效位操作
318
- * 不是硬件限制,而是性能和内存效率的权衡
319
- */
320
- IdentifierPool.MAX_INDEX = 0xFFFF; // 65535
321
- /**
322
- * 最大世代限制(16位)
323
- */
324
- IdentifierPool.MAX_GENERATION = 0xFFFF; // 65535
325
- //# sourceMappingURL=IdentifierPool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IdentifierPool.js","sourceRoot":"","sources":["../../../src/ECS/Utils/IdentifierPool.ts"],"names":[],"mappings":"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"}
@@ -1,171 +0,0 @@
1
- import { ComponentType } from '../Core/ComponentStorage';
2
- /**
3
- * 查询条件类型
4
- */
5
- export interface QueryCondition {
6
- all: ComponentType[];
7
- any: ComponentType[];
8
- none: ComponentType[];
9
- tag?: number;
10
- name?: string;
11
- component?: ComponentType;
12
- matchNothing?: boolean;
13
- }
14
- /**
15
- * 实体匹配条件描述符
16
- *
17
- * 用于描述实体查询条件,不执行实际查询
18
- *
19
- * @example
20
- * ```typescript
21
- * const matcher = Matcher.all(Position, Velocity)
22
- * .any(Health, Shield)
23
- * .none(Dead);
24
- *
25
- * // 获取查询条件
26
- * const condition = matcher.getCondition();
27
- * ```
28
- */
29
- export declare class Matcher {
30
- private readonly condition;
31
- private constructor();
32
- /**
33
- * 创建匹配器,要求所有指定的组件
34
- * @param types 组件类型
35
- */
36
- static all(...types: ComponentType[]): Matcher;
37
- /**
38
- * 创建匹配器,要求至少一个指定的组件
39
- * @param types 组件类型
40
- */
41
- static any(...types: ComponentType[]): Matcher;
42
- /**
43
- * 创建匹配器,排除指定的组件
44
- * @param types 组件类型
45
- */
46
- static none(...types: ComponentType[]): Matcher;
47
- /**
48
- * 创建按标签查询的匙配器
49
- * @param tag 标签值
50
- */
51
- static byTag(tag: number): Matcher;
52
- /**
53
- * 创建按名称查询的匙配器
54
- * @param name 实体名称
55
- */
56
- static byName(name: string): Matcher;
57
- /**
58
- * 创建单组件查询的匙配器
59
- * @param componentType 组件类型
60
- */
61
- static byComponent(componentType: ComponentType): Matcher;
62
- /**
63
- * 创建复杂查询构建器
64
- */
65
- static complex(): Matcher;
66
- /**
67
- * 创建空匙配器
68
- */
69
- static empty(): Matcher;
70
- /**
71
- * 创建不匹配任何实体的匹配器
72
- * 用于只需要 onBegin/onEnd 生命周期方法但不需要处理实体的系统
73
- *
74
- * @example
75
- * ```typescript
76
- * // 创建一个只在帧开始时执行的系统
77
- * class FrameBeginSystem extends EntitySystem {
78
- * constructor() {
79
- * super(Matcher.nothing());
80
- * }
81
- *
82
- * protected onBegin(): void {
83
- * // 每帧开始时执行
84
- * }
85
- *
86
- * protected process(entities: readonly Entity[]): void {
87
- * // 永远不会被调用,因为没有实体匹配
88
- * }
89
- * }
90
- * ```
91
- */
92
- static nothing(): Matcher;
93
- /**
94
- * 必须包含所有指定组件
95
- * @param types 组件类型
96
- */
97
- all(...types: ComponentType[]): Matcher;
98
- /**
99
- * 必须包含至少一个指定组件
100
- * @param types 组件类型
101
- */
102
- any(...types: ComponentType[]): Matcher;
103
- /**
104
- * 不能包含任何指定组件
105
- * @param types 组件类型
106
- */
107
- none(...types: ComponentType[]): Matcher;
108
- /**
109
- * 排除指定组件(别名方法)
110
- * @param types 组件类型
111
- */
112
- exclude(...types: ComponentType[]): Matcher;
113
- /**
114
- * 至少包含其中之一(别名方法)
115
- * @param types 组件类型
116
- */
117
- one(...types: ComponentType[]): Matcher;
118
- /**
119
- * 按标签查询
120
- * @param tag 标签值
121
- */
122
- withTag(tag: number): Matcher;
123
- /**
124
- * 按名称查询
125
- * @param name 实体名称
126
- */
127
- withName(name: string): Matcher;
128
- /**
129
- * 单组件查询
130
- * @param componentType 组件类型
131
- */
132
- withComponent(componentType: ComponentType): Matcher;
133
- /**
134
- * 移除标签条件
135
- */
136
- withoutTag(): Matcher;
137
- /**
138
- * 移除名称条件
139
- */
140
- withoutName(): Matcher;
141
- /**
142
- * 移除单组件条件
143
- */
144
- withoutComponent(): Matcher;
145
- /**
146
- * 获取查询条件(只读)
147
- */
148
- getCondition(): Readonly<QueryCondition>;
149
- /**
150
- * 检查是否为空条件
151
- * 注意:matchNothing 不算空条件,因为它是明确的"不匹配任何实体"语义
152
- */
153
- isEmpty(): boolean;
154
- /**
155
- * 检查是否为"不匹配任何实体"的匹配器
156
- */
157
- isNothing(): boolean;
158
- /**
159
- * 重置所有条件
160
- */
161
- reset(): Matcher;
162
- /**
163
- * 克隆匹配器
164
- */
165
- clone(): Matcher;
166
- /**
167
- * 字符串表示
168
- */
169
- toString(): string;
170
- }
171
- //# sourceMappingURL=Matcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../../../src/ECS/Utils/Matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,aAAa,EAAE,CAAC;IACrB,GAAG,EAAE,aAAa,EAAE,CAAC;IACrB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAO;IAChB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAIxB;IAEF,OAAO;IAIP;;;OAGG;WACW,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAKrD;;;OAGG;WACW,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAKrD;;;OAGG;WACW,IAAI,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAKtD;;;OAGG;WACW,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKzC;;;OAGG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK3C;;;OAGG;WACW,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAKhE;;OAEG;WACW,OAAO,IAAI,OAAO;IAIhC;;OAEG;WACW,KAAK,IAAI,OAAO;IAI9B;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,OAAO,IAAI,OAAO;IAMhC;;;OAGG;IACI,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAK9C;;;OAGG;IACI,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAK9C;;;OAGG;IACI,IAAI,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAK/C;;;OAGG;IACI,OAAO,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAIlD;;;OAGG;IACI,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO;IAI9C;;;OAGG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKpC;;;OAGG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKtC;;;OAGG;IACI,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAK3D;;OAEG;IACI,UAAU,IAAI,OAAO;IAK5B;;OAEG;IACI,WAAW,IAAI,OAAO;IAK7B;;OAEG;IACI,gBAAgB,IAAI,OAAO;IAKlC;;OAEG;IACI,YAAY,IAAI,QAAQ,CAAC,cAAc,CAAC;IAY/C;;;OAGG;IACI,OAAO,IAAI,OAAO;IAUzB;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,KAAK,IAAI,OAAO;IAWvB;;OAEG;IACI,KAAK,IAAI,OAAO;IAoBvB;;OAEG;IACI,QAAQ,IAAI,MAAM;CAkC5B"}