@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,154 +0,0 @@
1
- import { BitMask64Data } from './BigIntCompatibility';
2
- /**
3
- * 位集合类,用于高效的位操作
4
- * 支持任意位的位运算操作.
5
- */
6
- export declare class Bits {
7
- /** 存储位数据的掩码,支持扩展 */
8
- private _value;
9
- /**
10
- * 构造函数,创建位集合
11
- * @param initialValue 初始值,可以是BitMask64Data对象、数字或字符串
12
- */
13
- constructor(initialValue?: BitMask64Data | number | string);
14
- /**
15
- * 设置指定位为1
16
- * 自动扩展:当索引超过 64 时,自动扩展到 128/256 位
17
- * @param index 位索引(0-based)
18
- * @throws 当位索引为负数时抛出错误
19
- */
20
- set(index: number): void;
21
- /**
22
- * 清除指定位为0
23
- * @param index 位索引
24
- * @throws 当位索引为负数时抛出错误
25
- */
26
- clear(index: number): void;
27
- /**
28
- * 获取指定位的值
29
- * @param index 位索引
30
- * @returns 如果位被设置为1则返回true,否则返回false
31
- */
32
- get(index: number): boolean;
33
- /**
34
- * 检查是否包含另一个位集合的所有位
35
- * @param other 另一个位集合
36
- * @returns 如果包含other的所有设置位则返回true
37
- */
38
- containsAll(other: Bits): boolean;
39
- /**
40
- * 检查是否与另一个位集合有交集
41
- * @param other 另一个位集合
42
- * @returns 如果有共同的设置位则返回true
43
- */
44
- intersects(other: Bits): boolean;
45
- /**
46
- * 检查是否与另一个位集合没有交集
47
- * @param other 另一个位集合
48
- * @returns 如果没有共同的设置位则返回true
49
- */
50
- excludes(other: Bits): boolean;
51
- /**
52
- * 清除所有位为0
53
- */
54
- clearAll(): void;
55
- /**
56
- * 检查位集合是否为空
57
- * @returns 如果所有位都为0则返回true
58
- */
59
- isEmpty(): boolean;
60
- /**
61
- * 计算设置为1的位数
62
- * @returns 设置位的总数
63
- */
64
- cardinality(): number;
65
- /**
66
- * 与另一个位集合执行按位与操作
67
- * @param other 另一个位集合
68
- * @returns 新的位集合,包含按位与的结果
69
- */
70
- and(other: Bits): Bits;
71
- /**
72
- * 与另一个位集合执行按位或操作
73
- * @param other 另一个位集合
74
- * @returns 新的位集合,包含按位或的结果
75
- */
76
- or(other: Bits): Bits;
77
- /**
78
- * 与另一个位集合执行按位异或操作
79
- * @param other 另一个位集合
80
- * @returns 新的位集合,包含按位异或的结果
81
- */
82
- xor(other: Bits): Bits;
83
- /**
84
- * 执行按位取反操作
85
- * @param maxBits 最大位数,默认为64
86
- * @returns 新的位集合,包含按位取反的结果
87
- */
88
- not(maxBits?: number): Bits;
89
- /**
90
- * 从另一个位集合复制值
91
- * @param other 源位集合
92
- */
93
- copyFrom(other: Bits): void;
94
- /**
95
- * 创建当前位集合的深拷贝
96
- * @returns 新的位集合,内容与当前位集合相同
97
- */
98
- clone(): Bits;
99
- /**
100
- * 获取内部的64位掩码数据
101
- * @returns 内部存储的BitMask64Data对象
102
- */
103
- getValue(): BitMask64Data;
104
- /**
105
- * 设置位集合的值
106
- * @param value 新值,可以是BitMask64Data对象、数字或字符串
107
- */
108
- setValue(value: BitMask64Data | number | string): void;
109
- /**
110
- * 将位集合转换为可读字符串
111
- * @returns 格式为"Bits[index1, index2, ...]"的字符串
112
- */
113
- toString(): string;
114
- /**
115
- * 将位集合转换为二进制字符串
116
- * @param maxBits 最大位数,默认为64
117
- * @returns 二进制字符串表示,每8位用空格分隔
118
- */
119
- toBinaryString(maxBits?: number): string;
120
- /**
121
- * 将位集合转换为十六进制字符串
122
- * @returns 十六进制字符串表示,带0x前缀
123
- */
124
- toHexString(): string;
125
- /**
126
- * 从二进制字符串创建位集合
127
- * @param binaryString 二进制字符串,可以包含空格
128
- * @returns 新的位集合对象
129
- */
130
- static fromBinaryString(binaryString: string): Bits;
131
- /**
132
- * 从十六进制字符串创建位集合
133
- * @param hexString 十六进制字符串,可以带或不带0x前缀
134
- * @returns 新的位集合对象
135
- */
136
- static fromHexString(hexString: string): Bits;
137
- /**
138
- * 检查是否与另一个位集合相等
139
- * @param other 另一个位集合
140
- * @returns 如果两个位集合完全相同则返回true
141
- */
142
- equals(other: Bits): boolean;
143
- /**
144
- * 获取最高位设置位的索引
145
- * @returns 最高位设置位的索引,如果位集合为空则返回-1
146
- */
147
- getHighestBitIndex(): number;
148
- /**
149
- * 获取最低位设置位的索引
150
- * @returns 最低位设置位的索引,如果位集合为空则返回-1
151
- */
152
- getLowestBitIndex(): number;
153
- }
154
- //# sourceMappingURL=Bits.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bits.d.ts","sourceRoot":"","sources":["../../../src/ECS/Utils/Bits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAkB,MAAM,uBAAuB,CAAC;AAEnF;;;GAGG;AACH,qBAAa,IAAI;IACb,oBAAoB;IACpB,OAAO,CAAC,MAAM,CAAgB;IAE9B;;;OAGG;gBACS,YAAY,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM;IAa1D;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ/B;;;;OAIG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;OAIG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIxC;;;;OAIG;IACI,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIvC;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIrC;;OAEG;IACI,QAAQ,IAAI,IAAI;IAIvB;;;OAGG;IACI,OAAO,IAAI,OAAO;IAIzB;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;;OAIG;IACI,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAO7B;;;;OAIG;IACI,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAO5B;;;;OAIG;IACI,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAO7B;;;;OAIG;IACI,GAAG,CAAC,OAAO,GAAE,MAAW,GAAG,IAAI;IA0BtC;;;OAGG;IACI,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAIlC;;;OAGG;IACI,KAAK,IAAI,IAAI;IAIpB;;;OAGG;IACI,QAAQ,IAAI,aAAa;IAIhC;;;OAGG;IACI,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAW7D;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAUzB;;;;OAIG;IACI,cAAc,CAAC,OAAO,GAAE,MAAU,GAAG,MAAM;IAclD;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;;OAIG;WACW,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAgB1D;;;;OAIG;WACW,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAgBpD;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAInC;;;OAGG;IACI,kBAAkB,IAAI,MAAM;IAsBnC;;;OAGG;IACI,iBAAiB,IAAI,MAAM;CAmBrC"}
@@ -1,331 +0,0 @@
1
- import { SegmentPart, BitMask64Utils } from './BigIntCompatibility';
2
- /**
3
- * 位集合类,用于高效的位操作
4
- * 支持任意位的位运算操作.
5
- */
6
- export class Bits {
7
- /**
8
- * 构造函数,创建位集合
9
- * @param initialValue 初始值,可以是BitMask64Data对象、数字或字符串
10
- */
11
- constructor(initialValue) {
12
- if (initialValue && typeof initialValue === 'object') {
13
- this._value = BitMask64Utils.clone(initialValue);
14
- }
15
- else if (typeof initialValue === 'number') {
16
- this._value = BitMask64Utils.fromNumber(initialValue);
17
- }
18
- else if (typeof initialValue === 'string') {
19
- const num = parseInt(initialValue, 10);
20
- this._value = BitMask64Utils.fromNumber(num);
21
- }
22
- else {
23
- this._value = BitMask64Utils.clone(BitMask64Utils.ZERO);
24
- }
25
- }
26
- /**
27
- * 设置指定位为1
28
- * 自动扩展:当索引超过 64 时,自动扩展到 128/256 位
29
- * @param index 位索引(0-based)
30
- * @throws 当位索引为负数时抛出错误
31
- */
32
- set(index) {
33
- if (index < 0) {
34
- throw new Error('Bit index cannot be negative');
35
- }
36
- BitMask64Utils.setBit(this._value, index);
37
- }
38
- /**
39
- * 清除指定位为0
40
- * @param index 位索引
41
- * @throws 当位索引为负数时抛出错误
42
- */
43
- clear(index) {
44
- if (index < 0) {
45
- throw new Error('Bit index cannot be negative');
46
- }
47
- BitMask64Utils.clearBit(this._value, index);
48
- }
49
- /**
50
- * 获取指定位的值
51
- * @param index 位索引
52
- * @returns 如果位被设置为1则返回true,否则返回false
53
- */
54
- get(index) {
55
- return BitMask64Utils.getBit(this._value, index);
56
- }
57
- /**
58
- * 检查是否包含另一个位集合的所有位
59
- * @param other 另一个位集合
60
- * @returns 如果包含other的所有设置位则返回true
61
- */
62
- containsAll(other) {
63
- return BitMask64Utils.hasAll(this._value, other._value);
64
- }
65
- /**
66
- * 检查是否与另一个位集合有交集
67
- * @param other 另一个位集合
68
- * @returns 如果有共同的设置位则返回true
69
- */
70
- intersects(other) {
71
- return BitMask64Utils.hasAny(this._value, other._value);
72
- }
73
- /**
74
- * 检查是否与另一个位集合没有交集
75
- * @param other 另一个位集合
76
- * @returns 如果没有共同的设置位则返回true
77
- */
78
- excludes(other) {
79
- return BitMask64Utils.hasNone(this._value, other._value);
80
- }
81
- /**
82
- * 清除所有位为0
83
- */
84
- clearAll() {
85
- BitMask64Utils.clear(this._value);
86
- }
87
- /**
88
- * 检查位集合是否为空
89
- * @returns 如果所有位都为0则返回true
90
- */
91
- isEmpty() {
92
- return BitMask64Utils.isZero(this._value);
93
- }
94
- /**
95
- * 计算设置为1的位数
96
- * @returns 设置位的总数
97
- */
98
- cardinality() {
99
- return BitMask64Utils.popCount(this._value);
100
- }
101
- /**
102
- * 与另一个位集合执行按位与操作
103
- * @param other 另一个位集合
104
- * @returns 新的位集合,包含按位与的结果
105
- */
106
- and(other) {
107
- const result = new Bits();
108
- BitMask64Utils.copy(this._value, result._value);
109
- BitMask64Utils.andInPlace(result._value, other._value);
110
- return result;
111
- }
112
- /**
113
- * 与另一个位集合执行按位或操作
114
- * @param other 另一个位集合
115
- * @returns 新的位集合,包含按位或的结果
116
- */
117
- or(other) {
118
- const result = new Bits();
119
- BitMask64Utils.copy(this._value, result._value);
120
- BitMask64Utils.orInPlace(result._value, other._value);
121
- return result;
122
- }
123
- /**
124
- * 与另一个位集合执行按位异或操作
125
- * @param other 另一个位集合
126
- * @returns 新的位集合,包含按位异或的结果
127
- */
128
- xor(other) {
129
- const result = new Bits();
130
- BitMask64Utils.copy(this._value, result._value);
131
- BitMask64Utils.xorInPlace(result._value, other._value);
132
- return result;
133
- }
134
- /**
135
- * 执行按位取反操作
136
- * @param maxBits 最大位数,默认为64
137
- * @returns 新的位集合,包含按位取反的结果
138
- */
139
- not(maxBits = 64) {
140
- if (maxBits > 64) {
141
- maxBits = 64;
142
- }
143
- const result = new Bits();
144
- BitMask64Utils.copy(this._value, result._value);
145
- if (maxBits <= 32) {
146
- const mask = (1 << maxBits) - 1;
147
- result._value.base[SegmentPart.LOW] = (~result._value.base[SegmentPart.LOW]) & mask;
148
- result._value.base[SegmentPart.HIGH] = 0;
149
- }
150
- else {
151
- result._value.base[SegmentPart.LOW] = ~result._value.base[SegmentPart.LOW];
152
- if (maxBits < 64) {
153
- const remainingBits = maxBits - 32;
154
- const mask = (1 << remainingBits) - 1;
155
- result._value.base[SegmentPart.HIGH] = (~result._value.base[SegmentPart.HIGH]) & mask;
156
- }
157
- else {
158
- result._value.base[SegmentPart.HIGH] = ~result._value.base[SegmentPart.HIGH];
159
- }
160
- }
161
- return result;
162
- }
163
- /**
164
- * 从另一个位集合复制值
165
- * @param other 源位集合
166
- */
167
- copyFrom(other) {
168
- BitMask64Utils.copy(other._value, this._value);
169
- }
170
- /**
171
- * 创建当前位集合的深拷贝
172
- * @returns 新的位集合,内容与当前位集合相同
173
- */
174
- clone() {
175
- return new Bits(this._value);
176
- }
177
- /**
178
- * 获取内部的64位掩码数据
179
- * @returns 内部存储的BitMask64Data对象
180
- */
181
- getValue() {
182
- return this._value;
183
- }
184
- /**
185
- * 设置位集合的值
186
- * @param value 新值,可以是BitMask64Data对象、数字或字符串
187
- */
188
- setValue(value) {
189
- if (typeof value === 'object') {
190
- BitMask64Utils.copy(value, this._value);
191
- }
192
- else if (typeof value === 'number') {
193
- this._value = BitMask64Utils.fromNumber(value);
194
- }
195
- else {
196
- const num = parseInt(value, 10);
197
- this._value = BitMask64Utils.fromNumber(num);
198
- }
199
- }
200
- /**
201
- * 将位集合转换为可读字符串
202
- * @returns 格式为"Bits[index1, index2, ...]"的字符串
203
- */
204
- toString() {
205
- const bits = [];
206
- for (let i = 0; i < 64; i++) {
207
- if (this.get(i)) {
208
- bits.push(i.toString());
209
- }
210
- }
211
- return `Bits[${bits.join(', ')}]`;
212
- }
213
- /**
214
- * 将位集合转换为二进制字符串
215
- * @param maxBits 最大位数,默认为64
216
- * @returns 二进制字符串表示,每8位用空格分隔
217
- */
218
- toBinaryString(maxBits = 0) {
219
- if (maxBits == 0) {
220
- maxBits = 64 + (this._value.segments ? this._value.segments.length * 64 : 0);
221
- }
222
- let result = '';
223
- for (let i = maxBits - 1; i >= 0; i--) {
224
- result += this.get(i) ? '1' : '0';
225
- if (i % 8 === 0 && i > 0) {
226
- result += ' ';
227
- }
228
- }
229
- return result;
230
- }
231
- /**
232
- * 将位集合转换为十六进制字符串
233
- * @returns 十六进制字符串表示,带0x前缀
234
- */
235
- toHexString() {
236
- return BitMask64Utils.toString(this._value, 16);
237
- }
238
- /**
239
- * 从二进制字符串创建位集合
240
- * @param binaryString 二进制字符串,可以包含空格
241
- * @returns 新的位集合对象
242
- */
243
- static fromBinaryString(binaryString) {
244
- const cleanString = binaryString.replace(/\s/g, '');
245
- let data;
246
- if (cleanString.length <= 32) {
247
- const num = parseInt(cleanString, 2);
248
- data = { base: [num >>> 0, 0] };
249
- }
250
- else {
251
- const loBits = cleanString.substring(cleanString.length - 32);
252
- const hiBits = cleanString.substring(0, cleanString.length - 32);
253
- const lo = parseInt(loBits, 2);
254
- const hi = parseInt(hiBits, 2);
255
- data = { base: [lo >>> 0, hi >>> 0] };
256
- }
257
- return new Bits(data);
258
- }
259
- /**
260
- * 从十六进制字符串创建位集合
261
- * @param hexString 十六进制字符串,可以带或不带0x前缀
262
- * @returns 新的位集合对象
263
- */
264
- static fromHexString(hexString) {
265
- const cleanString = hexString.replace(/^0x/i, '');
266
- let data;
267
- if (cleanString.length <= 8) {
268
- const num = parseInt(cleanString, 16);
269
- data = { base: [num >>> 0, 0] };
270
- }
271
- else {
272
- const loBits = cleanString.substring(cleanString.length - 8);
273
- const hiBits = cleanString.substring(0, cleanString.length - 8);
274
- const lo = parseInt(loBits, 16);
275
- const hi = parseInt(hiBits, 16);
276
- data = { base: [lo >>> 0, hi >>> 0] };
277
- }
278
- return new Bits(data);
279
- }
280
- /**
281
- * 检查是否与另一个位集合相等
282
- * @param other 另一个位集合
283
- * @returns 如果两个位集合完全相同则返回true
284
- */
285
- equals(other) {
286
- return BitMask64Utils.equals(this._value, other._value);
287
- }
288
- /**
289
- * 获取最高位设置位的索引
290
- * @returns 最高位设置位的索引,如果位集合为空则返回-1
291
- */
292
- getHighestBitIndex() {
293
- if (BitMask64Utils.isZero(this._value)) {
294
- return -1;
295
- }
296
- if (this._value.base[SegmentPart.HIGH] !== 0) {
297
- for (let i = 31; i >= 0; i--) {
298
- if ((this._value.base[SegmentPart.HIGH] & (1 << i)) !== 0) {
299
- return i + 32;
300
- }
301
- }
302
- }
303
- for (let i = 31; i >= 0; i--) {
304
- if ((this._value.base[SegmentPart.LOW] & (1 << i)) !== 0) {
305
- return i;
306
- }
307
- }
308
- return -1;
309
- }
310
- /**
311
- * 获取最低位设置位的索引
312
- * @returns 最低位设置位的索引,如果位集合为空则返回-1
313
- */
314
- getLowestBitIndex() {
315
- if (BitMask64Utils.isZero(this._value)) {
316
- return -1;
317
- }
318
- for (let i = 0; i < 32; i++) {
319
- if ((this._value.base[SegmentPart.LOW] & (1 << i)) !== 0) {
320
- return i;
321
- }
322
- }
323
- for (let i = 0; i < 32; i++) {
324
- if ((this._value.base[SegmentPart.HIGH] & (1 << i)) !== 0) {
325
- return i + 32;
326
- }
327
- }
328
- return -1;
329
- }
330
- }
331
- //# sourceMappingURL=Bits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bits.js","sourceRoot":"","sources":["../../../src/ECS/Utils/Bits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnF;;;GAGG;AACH,MAAM,OAAO,IAAI;IAIb;;;OAGG;IACH,YAAY,YAA8C;QACtD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAa;QACpB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAa;QACtB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,KAAa;QACpB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,KAAW;QAC1B,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,KAAW;QACzB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,KAAW;QACvB,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,QAAQ;QACX,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,KAAW;QAClB,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,EAAE,CAAC,KAAW;QACjB,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,KAAW;QAClB,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,UAAkB,EAAE;QAC3B,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACf,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YACpF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;gBACf,MAAM,aAAa,GAAG,OAAO,GAAG,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAW;QACvB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,KAAK;QACR,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAsC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,UAAkB,CAAC;QACrC,IAAG,OAAO,IAAI,CAAC,EAAC,CAAC;YACb,OAAO,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,CAAC;YAClB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,gBAAgB,CAAC,YAAoB;QAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,IAAmB,CAAC;QACxB,IAAI,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC/B,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,SAAiB;QACzC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,IAAmB,CAAC;QACxB,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAW;QACrB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACrB,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,OAAO,CAAC,GAAG,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACpB,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,GAAG,EAAE,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;CACJ"}
@@ -1,143 +0,0 @@
1
- import { Entity } from '../Entity';
2
- import { ComponentType } from '../Core/ComponentStorage';
3
- import { BitMask64Data } from './BigIntCompatibility';
4
- /**
5
- * 组件稀疏集合实现
6
- *
7
- * 结合通用稀疏集合和组件位掩码
8
- *
9
- * 存储结构:
10
- * - 稀疏集合存储实体
11
- * - 位掩码数组存储组件信息
12
- * - 组件类型映射表
13
- */
14
- export declare class ComponentSparseSet {
15
- /**
16
- * 实体稀疏集合
17
- *
18
- * 存储所有拥有组件的实体,提供O(1)的实体操作。
19
- */
20
- private _entities;
21
- /**
22
- * 组件位掩码数组
23
- *
24
- * 与实体稀疏集合的密集数组对应,存储每个实体的组件位掩码。
25
- * 数组索引与稀疏集合的密集数组索引一一对应。
26
- */
27
- private _componentMasks;
28
- /**
29
- * 组件类型到实体集合的映射
30
- *
31
- * 维护每个组件类型对应的实体集合,用于快速的单组件查询。
32
- */
33
- private _componentToEntities;
34
- /**
35
- * 实体集合对象池
36
- *
37
- * 使用core库的Pool系统来管理PoolableEntitySet对象的复用。
38
- */
39
- private static _entitySetPool;
40
- constructor();
41
- /**
42
- * 添加实体到组件索引
43
- *
44
- * 分析实体的组件组成,生成位掩码,并更新所有相关索引。
45
- *
46
- * @param entity 要添加的实体
47
- */
48
- addEntity(entity: Entity): void;
49
- /**
50
- * 从组件索引中移除实体
51
- *
52
- * 清理实体相关的所有索引数据,保持数据结构的紧凑性。
53
- *
54
- * @param entity 要移除的实体
55
- */
56
- removeEntity(entity: Entity): void;
57
- /**
58
- * 查询包含指定组件的所有实体
59
- *
60
- * @param componentType 组件类型
61
- * @returns 包含该组件的实体集合
62
- */
63
- queryByComponent(componentType: ComponentType): Set<Entity>;
64
- /**
65
- * 多组件查询(AND操作)
66
- *
67
- * 查找同时包含所有指定组件的实体。
68
- *
69
- * @param componentTypes 组件类型数组
70
- * @returns 满足条件的实体集合
71
- */
72
- queryMultipleAnd(componentTypes: ComponentType[]): Set<Entity>;
73
- /**
74
- * 多组件查询(OR操作)
75
- *
76
- * 查找包含任意一个指定组件的实体。
77
- *
78
- * @param componentTypes 组件类型数组
79
- * @returns 满足条件的实体集合
80
- */
81
- queryMultipleOr(componentTypes: ComponentType[]): Set<Entity>;
82
- /**
83
- * 检查实体是否包含指定组件
84
- *
85
- * @param entity 实体
86
- * @param componentType 组件类型
87
- * @returns 是否包含该组件
88
- */
89
- hasComponent(entity: Entity, componentType: ComponentType): boolean;
90
- /**
91
- * 获取实体的组件位掩码
92
- *
93
- * @param entity 实体
94
- * @returns 组件位掩码,如果实体不存在则返回undefined
95
- */
96
- getEntityMask(entity: Entity): BitMask64Data | undefined;
97
- /**
98
- * 获取所有实体
99
- *
100
- * @returns 所有实体的数组
101
- */
102
- getAllEntities(): Entity[];
103
- /**
104
- * 获取实体数量
105
- */
106
- get size(): number;
107
- /**
108
- * 检查是否为空
109
- */
110
- get isEmpty(): boolean;
111
- /**
112
- * 遍历所有实体
113
- *
114
- * @param callback 遍历回调函数
115
- */
116
- forEach(callback: (entity: Entity, mask: BitMask64Data, index: number) => void): void;
117
- /**
118
- * 清空所有数据
119
- */
120
- clear(): void;
121
- /**
122
- * 获取内存使用统计
123
- */
124
- getMemoryStats(): {
125
- entitiesMemory: number;
126
- masksMemory: number;
127
- mappingsMemory: number;
128
- totalMemory: number;
129
- };
130
- /**
131
- * 验证数据结构完整性
132
- */
133
- validate(): boolean;
134
- /**
135
- * 获取实体的组件类型集合
136
- */
137
- private getEntityComponentTypes;
138
- /**
139
- * 更新组件类型到实体的映射
140
- */
141
- private updateComponentMappings;
142
- }
143
- //# sourceMappingURL=ComponentSparseSet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentSparseSet.d.ts","sourceRoot":"","sources":["../../../src/ECS/Utils/ComponentSparseSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAqB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAkB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAoBtE;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC3B;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAoB;IAErC;;;;;OAKG;IACH,OAAO,CAAC,eAAe,CAAuB;IAE9C;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAA+C;IAE3E;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc,CAA4C;;IAMzE;;;;;;OAMG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsCtC;;;;;;OAMG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwBzC;;;;;OAKG;IACI,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC;IAKlE;;;;;;;OAOG;IACI,gBAAgB,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAgCrE;;;;;;;OAOG;IACI,eAAe,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAmCpE;;;;;;OAMG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO;IAgB1E;;;;;OAKG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAQ/D;;;;OAIG;IACI,cAAc,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;OAIG;IACI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAM5F;;OAEG;IACI,KAAK,IAAI,IAAI;IAWpB;;OAEG;IACI,cAAc,IAAI;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACnB;IAiBL;;OAEG;IACI,QAAQ,IAAI,OAAO;IA6B1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA0BlC"}