@esengine/ecs-framework 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/index.cjs +2 -0
  2. package/index.cjs.map +1 -0
  3. package/index.d.ts +13466 -0
  4. package/index.es5.js +4 -0
  5. package/index.es5.js.map +1 -0
  6. package/index.mjs +2 -0
  7. package/index.mjs.map +1 -0
  8. package/index.umd.js +4 -0
  9. package/index.umd.js.map +1 -0
  10. package/package.json +47 -84
  11. package/bin/Core/DI/Decorators.d.ts +0 -206
  12. package/bin/Core/DI/Decorators.d.ts.map +0 -1
  13. package/bin/Core/DI/Decorators.js +0 -253
  14. package/bin/Core/DI/Decorators.js.map +0 -1
  15. package/bin/Core/DI/index.d.ts +0 -8
  16. package/bin/Core/DI/index.d.ts.map +0 -1
  17. package/bin/Core/DI/index.js +0 -7
  18. package/bin/Core/DI/index.js.map +0 -1
  19. package/bin/Core/Plugin.d.ts +0 -112
  20. package/bin/Core/Plugin.d.ts.map +0 -1
  21. package/bin/Core/Plugin.js +0 -19
  22. package/bin/Core/Plugin.js.map +0 -1
  23. package/bin/Core/PluginManager.d.ts +0 -118
  24. package/bin/Core/PluginManager.d.ts.map +0 -1
  25. package/bin/Core/PluginManager.js +0 -229
  26. package/bin/Core/PluginManager.js.map +0 -1
  27. package/bin/Core/ServiceContainer.d.ts +0 -221
  28. package/bin/Core/ServiceContainer.d.ts.map +0 -1
  29. package/bin/Core/ServiceContainer.js +0 -352
  30. package/bin/Core/ServiceContainer.js.map +0 -1
  31. package/bin/Core.d.ts +0 -379
  32. package/bin/Core.d.ts.map +0 -1
  33. package/bin/Core.js +0 -553
  34. package/bin/Core.js.map +0 -1
  35. package/bin/ECS/Component.d.ts +0 -104
  36. package/bin/ECS/Component.d.ts.map +0 -1
  37. package/bin/ECS/Component.js +0 -105
  38. package/bin/ECS/Component.js.map +0 -1
  39. package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
  40. package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
  41. package/bin/ECS/Components/HierarchyComponent.js +0 -65
  42. package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
  43. package/bin/ECS/Components/index.d.ts +0 -2
  44. package/bin/ECS/Components/index.d.ts.map +0 -1
  45. package/bin/ECS/Components/index.js +0 -2
  46. package/bin/ECS/Components/index.js.map +0 -1
  47. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
  48. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  49. package/bin/ECS/Core/ArchetypeSystem.js +0 -244
  50. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  51. package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
  52. package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
  53. package/bin/ECS/Core/CommandBuffer.js +0 -244
  54. package/bin/ECS/Core/CommandBuffer.js.map +0 -1
  55. package/bin/ECS/Core/ComponentPool.d.ts +0 -139
  56. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  57. package/bin/ECS/Core/ComponentPool.js +0 -276
  58. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  59. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
  60. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  61. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
  62. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  63. package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
  64. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  65. package/bin/ECS/Core/ComponentStorage.js +0 -321
  66. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  67. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
  68. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
  69. package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
  70. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
  71. package/bin/ECS/Core/EventBus.d.ts +0 -210
  72. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  73. package/bin/ECS/Core/EventBus.js +0 -370
  74. package/bin/ECS/Core/EventBus.js.map +0 -1
  75. package/bin/ECS/Core/EventSystem.d.ts +0 -225
  76. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  77. package/bin/ECS/Core/EventSystem.js +0 -448
  78. package/bin/ECS/Core/EventSystem.js.map +0 -1
  79. package/bin/ECS/Core/Events/index.d.ts +0 -3
  80. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  81. package/bin/ECS/Core/Events/index.js +0 -3
  82. package/bin/ECS/Core/Events/index.js.map +0 -1
  83. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  84. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  85. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  86. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  87. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  88. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  89. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  90. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  91. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  92. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  93. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  94. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  95. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  96. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  97. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
  98. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  99. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  100. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  101. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  102. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  103. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  104. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  105. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  106. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  107. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  108. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  109. package/bin/ECS/Core/FluentAPI.js +0 -3
  110. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  111. package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
  112. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
  113. package/bin/ECS/Core/Query/TypedQuery.js +0 -294
  114. package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
  115. package/bin/ECS/Core/Query/index.d.ts +0 -3
  116. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  117. package/bin/ECS/Core/Query/index.js +0 -3
  118. package/bin/ECS/Core/Query/index.js.map +0 -1
  119. package/bin/ECS/Core/QuerySystem.d.ts +0 -458
  120. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  121. package/bin/ECS/Core/QuerySystem.js +0 -1069
  122. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  123. package/bin/ECS/Core/QueryTypes.d.ts +0 -34
  124. package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
  125. package/bin/ECS/Core/QueryTypes.js +0 -13
  126. package/bin/ECS/Core/QueryTypes.js.map +0 -1
  127. package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
  128. package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
  129. package/bin/ECS/Core/ReactiveQuery.js +0 -401
  130. package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
  131. package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
  132. package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
  133. package/bin/ECS/Core/ReferenceTracker.js +0 -254
  134. package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
  135. package/bin/ECS/Core/SoASerializer.d.ts +0 -28
  136. package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
  137. package/bin/ECS/Core/SoASerializer.js +0 -85
  138. package/bin/ECS/Core/SoASerializer.js.map +0 -1
  139. package/bin/ECS/Core/SoAStorage.d.ts +0 -129
  140. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  141. package/bin/ECS/Core/SoAStorage.js +0 -685
  142. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  143. package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
  144. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
  145. package/bin/ECS/Core/SoATypeRegistry.js +0 -135
  146. package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
  147. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  148. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  149. package/bin/ECS/Core/Storage/index.js +0 -4
  150. package/bin/ECS/Core/Storage/index.js.map +0 -1
  151. package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
  152. package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
  153. package/bin/ECS/Core/StorageDecorators.js +0 -27
  154. package/bin/ECS/Core/StorageDecorators.js.map +0 -1
  155. package/bin/ECS/CoreEvents.d.ts +0 -131
  156. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  157. package/bin/ECS/CoreEvents.js +0 -163
  158. package/bin/ECS/CoreEvents.js.map +0 -1
  159. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
  160. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
  161. package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
  162. package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
  163. package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
  164. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
  165. package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
  166. package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
  167. package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
  168. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
  169. package/bin/ECS/Decorators/TypeDecorators.js +0 -151
  170. package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
  171. package/bin/ECS/Decorators/index.d.ts +0 -7
  172. package/bin/ECS/Decorators/index.d.ts.map +0 -1
  173. package/bin/ECS/Decorators/index.js +0 -4
  174. package/bin/ECS/Decorators/index.js.map +0 -1
  175. package/bin/ECS/Entity.d.ts +0 -415
  176. package/bin/ECS/Entity.d.ts.map +0 -1
  177. package/bin/ECS/Entity.js +0 -683
  178. package/bin/ECS/Entity.js.map +0 -1
  179. package/bin/ECS/EntityTags.d.ts +0 -71
  180. package/bin/ECS/EntityTags.d.ts.map +0 -1
  181. package/bin/ECS/EntityTags.js +0 -82
  182. package/bin/ECS/EntityTags.js.map +0 -1
  183. package/bin/ECS/IScene.d.ts +0 -308
  184. package/bin/ECS/IScene.d.ts.map +0 -1
  185. package/bin/ECS/IScene.js +0 -2
  186. package/bin/ECS/IScene.js.map +0 -1
  187. package/bin/ECS/Scene.d.ts +0 -799
  188. package/bin/ECS/Scene.d.ts.map +0 -1
  189. package/bin/ECS/Scene.js +0 -1203
  190. package/bin/ECS/Scene.js.map +0 -1
  191. package/bin/ECS/SceneManager.d.ts +0 -197
  192. package/bin/ECS/SceneManager.d.ts.map +0 -1
  193. package/bin/ECS/SceneManager.js +0 -264
  194. package/bin/ECS/SceneManager.js.map +0 -1
  195. package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
  196. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
  197. package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
  198. package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
  199. package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
  200. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
  201. package/bin/ECS/Serialization/EntitySerializer.js +0 -155
  202. package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
  203. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
  204. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
  205. package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
  206. package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
  207. package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
  208. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
  209. package/bin/ECS/Serialization/SceneSerializer.js +0 -387
  210. package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
  211. package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
  212. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
  213. package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
  214. package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
  215. package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
  216. package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
  217. package/bin/ECS/Serialization/VersionMigration.js +0 -279
  218. package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
  219. package/bin/ECS/Serialization/index.d.ts +0 -18
  220. package/bin/ECS/Serialization/index.d.ts.map +0 -1
  221. package/bin/ECS/Serialization/index.js +0 -18
  222. package/bin/ECS/Serialization/index.js.map +0 -1
  223. package/bin/ECS/Systems/EntityCache.d.ts +0 -114
  224. package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
  225. package/bin/ECS/Systems/EntityCache.js +0 -145
  226. package/bin/ECS/Systems/EntityCache.js.map +0 -1
  227. package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
  228. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  229. package/bin/ECS/Systems/EntitySystem.js +0 -1102
  230. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  231. package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
  232. package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
  233. package/bin/ECS/Systems/HierarchySystem.js +0 -498
  234. package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
  235. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  236. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  237. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  238. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  239. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  240. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  241. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  242. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  243. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  244. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  245. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  246. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  247. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
  248. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
  249. package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
  250. package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
  251. package/bin/ECS/Systems/index.d.ts +0 -8
  252. package/bin/ECS/Systems/index.d.ts.map +0 -1
  253. package/bin/ECS/Systems/index.js +0 -8
  254. package/bin/ECS/Systems/index.js.map +0 -1
  255. package/bin/ECS/TypedEntity.d.ts +0 -192
  256. package/bin/ECS/TypedEntity.d.ts.map +0 -1
  257. package/bin/ECS/TypedEntity.js +0 -254
  258. package/bin/ECS/TypedEntity.js.map +0 -1
  259. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
  260. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  261. package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
  262. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  263. package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
  264. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
  265. package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
  266. package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
  267. package/bin/ECS/Utils/Bits.d.ts +0 -154
  268. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  269. package/bin/ECS/Utils/Bits.js +0 -331
  270. package/bin/ECS/Utils/Bits.js.map +0 -1
  271. package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
  272. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
  273. package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
  274. package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
  275. package/bin/ECS/Utils/EntityList.d.ts +0 -115
  276. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  277. package/bin/ECS/Utils/EntityList.js +0 -258
  278. package/bin/ECS/Utils/EntityList.js.map +0 -1
  279. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  280. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  281. package/bin/ECS/Utils/EntityProcessorList.js +0 -113
  282. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  283. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  284. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  285. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  286. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  287. package/bin/ECS/Utils/Matcher.d.ts +0 -171
  288. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  289. package/bin/ECS/Utils/Matcher.js +0 -293
  290. package/bin/ECS/Utils/Matcher.js.map +0 -1
  291. package/bin/ECS/Utils/SparseSet.d.ts +0 -170
  292. package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
  293. package/bin/ECS/Utils/SparseSet.js +0 -280
  294. package/bin/ECS/Utils/SparseSet.js.map +0 -1
  295. package/bin/ECS/Utils/index.d.ts +0 -9
  296. package/bin/ECS/Utils/index.d.ts.map +0 -1
  297. package/bin/ECS/Utils/index.js +0 -10
  298. package/bin/ECS/Utils/index.js.map +0 -1
  299. package/bin/ECS/World.d.ts +0 -238
  300. package/bin/ECS/World.d.ts.map +0 -1
  301. package/bin/ECS/World.js +0 -416
  302. package/bin/ECS/World.js.map +0 -1
  303. package/bin/ECS/WorldManager.d.ts +0 -224
  304. package/bin/ECS/WorldManager.d.ts.map +0 -1
  305. package/bin/ECS/WorldManager.js +0 -365
  306. package/bin/ECS/WorldManager.js.map +0 -1
  307. package/bin/ECS/index.d.ts +0 -26
  308. package/bin/ECS/index.d.ts.map +0 -1
  309. package/bin/ECS/index.js +0 -21
  310. package/bin/ECS/index.js.map +0 -1
  311. package/bin/Platform/IPlatformAdapter.d.ts +0 -169
  312. package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
  313. package/bin/Platform/IPlatformAdapter.js +0 -2
  314. package/bin/Platform/IPlatformAdapter.js.map +0 -1
  315. package/bin/Platform/PlatformDetector.d.ts +0 -56
  316. package/bin/Platform/PlatformDetector.d.ts.map +0 -1
  317. package/bin/Platform/PlatformDetector.js +0 -247
  318. package/bin/Platform/PlatformDetector.js.map +0 -1
  319. package/bin/Platform/PlatformManager.d.ts +0 -50
  320. package/bin/Platform/PlatformManager.d.ts.map +0 -1
  321. package/bin/Platform/PlatformManager.js +0 -114
  322. package/bin/Platform/PlatformManager.js.map +0 -1
  323. package/bin/Platform/index.d.ts +0 -19
  324. package/bin/Platform/index.d.ts.map +0 -1
  325. package/bin/Platform/index.js +0 -29
  326. package/bin/Platform/index.js.map +0 -1
  327. package/bin/Plugins/DebugPlugin.d.ts +0 -156
  328. package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
  329. package/bin/Plugins/DebugPlugin.js +0 -248
  330. package/bin/Plugins/DebugPlugin.js.map +0 -1
  331. package/bin/Plugins/index.d.ts +0 -2
  332. package/bin/Plugins/index.d.ts.map +0 -1
  333. package/bin/Plugins/index.js +0 -2
  334. package/bin/Plugins/index.js.map +0 -1
  335. package/bin/Types/IUpdatable.d.ts +0 -18
  336. package/bin/Types/IUpdatable.d.ts.map +0 -1
  337. package/bin/Types/IUpdatable.js +0 -7
  338. package/bin/Types/IUpdatable.js.map +0 -1
  339. package/bin/Types/TypeHelpers.d.ts +0 -238
  340. package/bin/Types/TypeHelpers.d.ts.map +0 -1
  341. package/bin/Types/TypeHelpers.js +0 -19
  342. package/bin/Types/TypeHelpers.js.map +0 -1
  343. package/bin/Types/index.d.ts +0 -466
  344. package/bin/Types/index.d.ts.map +0 -1
  345. package/bin/Types/index.js +0 -7
  346. package/bin/Types/index.js.map +0 -1
  347. package/bin/Utils/BinarySerializer.d.ts +0 -23
  348. package/bin/Utils/BinarySerializer.d.ts.map +0 -1
  349. package/bin/Utils/BinarySerializer.js +0 -100
  350. package/bin/Utils/BinarySerializer.js.map +0 -1
  351. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
  352. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
  353. package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
  354. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
  355. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
  356. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  357. package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
  358. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  359. package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
  360. package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
  361. package/bin/Utils/Debug/DebugConfigService.js +0 -42
  362. package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
  363. package/bin/Utils/Debug/DebugManager.d.ts +0 -131
  364. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  365. package/bin/Utils/Debug/DebugManager.js +0 -848
  366. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  367. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
  368. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  369. package/bin/Utils/Debug/EntityDataCollector.js +0 -870
  370. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  371. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
  372. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  373. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
  374. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  375. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
  376. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  377. package/bin/Utils/Debug/SceneDataCollector.js +0 -43
  378. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  379. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
  380. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  381. package/bin/Utils/Debug/SystemDataCollector.js +0 -60
  382. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  383. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
  384. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  385. package/bin/Utils/Debug/WebSocketManager.js +0 -141
  386. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  387. package/bin/Utils/Debug/index.d.ts +0 -11
  388. package/bin/Utils/Debug/index.d.ts.map +0 -1
  389. package/bin/Utils/Debug/index.js +0 -10
  390. package/bin/Utils/Debug/index.js.map +0 -1
  391. package/bin/Utils/Emitter.d.ts +0 -61
  392. package/bin/Utils/Emitter.d.ts.map +0 -1
  393. package/bin/Utils/Emitter.js +0 -101
  394. package/bin/Utils/Emitter.js.map +0 -1
  395. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  396. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  397. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  398. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  399. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  400. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  401. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  402. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  403. package/bin/Utils/Extensions/index.d.ts +0 -3
  404. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  405. package/bin/Utils/Extensions/index.js +0 -4
  406. package/bin/Utils/Extensions/index.js.map +0 -1
  407. package/bin/Utils/GlobalManager.d.ts +0 -29
  408. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  409. package/bin/Utils/GlobalManager.js +0 -50
  410. package/bin/Utils/GlobalManager.js.map +0 -1
  411. package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
  412. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
  413. package/bin/Utils/Logger/ConsoleLogger.js +0 -187
  414. package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
  415. package/bin/Utils/Logger/Constants.d.ts +0 -36
  416. package/bin/Utils/Logger/Constants.d.ts.map +0 -1
  417. package/bin/Utils/Logger/Constants.js +0 -40
  418. package/bin/Utils/Logger/Constants.js.map +0 -1
  419. package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
  420. package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
  421. package/bin/Utils/Logger/LoggerManager.js +0 -167
  422. package/bin/Utils/Logger/LoggerManager.js.map +0 -1
  423. package/bin/Utils/Logger/Types.d.ts +0 -40
  424. package/bin/Utils/Logger/Types.d.ts.map +0 -1
  425. package/bin/Utils/Logger/Types.js +0 -2
  426. package/bin/Utils/Logger/Types.js.map +0 -1
  427. package/bin/Utils/Logger/index.d.ts +0 -5
  428. package/bin/Utils/Logger/index.d.ts.map +0 -1
  429. package/bin/Utils/Logger/index.js +0 -5
  430. package/bin/Utils/Logger/index.js.map +0 -1
  431. package/bin/Utils/PerformanceMonitor.d.ts +0 -196
  432. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  433. package/bin/Utils/PerformanceMonitor.js +0 -244
  434. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  435. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  436. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  437. package/bin/Utils/Pool/IPoolable.js +0 -2
  438. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  439. package/bin/Utils/Pool/Pool.d.ts +0 -109
  440. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  441. package/bin/Utils/Pool/Pool.js +0 -238
  442. package/bin/Utils/Pool/Pool.js.map +0 -1
  443. package/bin/Utils/Pool/PoolManager.d.ts +0 -96
  444. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  445. package/bin/Utils/Pool/PoolManager.js +0 -199
  446. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  447. package/bin/Utils/Pool/index.d.ts +0 -4
  448. package/bin/Utils/Pool/index.d.ts.map +0 -1
  449. package/bin/Utils/Pool/index.js +0 -4
  450. package/bin/Utils/Pool/index.js.map +0 -1
  451. package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
  452. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
  453. package/bin/Utils/Profiler/AutoProfiler.js +0 -503
  454. package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
  455. package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
  456. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
  457. package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
  458. package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
  459. package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
  460. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
  461. package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
  462. package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
  463. package/bin/Utils/Profiler/index.d.ts +0 -8
  464. package/bin/Utils/Profiler/index.d.ts.map +0 -1
  465. package/bin/Utils/Profiler/index.js +0 -7
  466. package/bin/Utils/Profiler/index.js.map +0 -1
  467. package/bin/Utils/Time.d.ts +0 -47
  468. package/bin/Utils/Time.d.ts.map +0 -1
  469. package/bin/Utils/Time.js +0 -64
  470. package/bin/Utils/Time.js.map +0 -1
  471. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  472. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  473. package/bin/Utils/Timers/ITimer.js +0 -2
  474. package/bin/Utils/Timers/ITimer.js.map +0 -1
  475. package/bin/Utils/Timers/Timer.d.ts +0 -30
  476. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  477. package/bin/Utils/Timers/Timer.js +0 -58
  478. package/bin/Utils/Timers/Timer.js.map +0 -1
  479. package/bin/Utils/Timers/TimerManager.d.ts +0 -26
  480. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  481. package/bin/Utils/Timers/TimerManager.js +0 -48
  482. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  483. package/bin/Utils/index.d.ts +0 -11
  484. package/bin/Utils/index.d.ts.map +0 -1
  485. package/bin/Utils/index.js +0 -11
  486. package/bin/Utils/index.js.map +0 -1
  487. package/bin/index.d.ts +0 -29
  488. package/bin/index.d.ts.map +0 -1
  489. package/bin/index.js +0 -36
  490. package/bin/index.js.map +0 -1
@@ -1,105 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Int32 } from './Core/SoAStorage';
3
- /**
4
- * 游戏组件基类
5
- *
6
- * ECS架构中的组件(Component)应该是纯数据容器。
7
- * 所有游戏逻辑应该在 EntitySystem 中实现,而不是在组件内部。
8
- *
9
- * @example
10
- * 推荐做法:纯数据组件
11
- * ```typescript
12
- * class HealthComponent extends Component {
13
- * public health: number = 100;
14
- * public maxHealth: number = 100;
15
- * }
16
- * ```
17
- *
18
- * @example
19
- * 推荐做法:在 System 中处理逻辑
20
- * ```typescript
21
- * class HealthSystem extends EntitySystem {
22
- * process(entities: Entity[]): void {
23
- * for (const entity of entities) {
24
- * const health = entity.getComponent(HealthComponent);
25
- * if (health && health.health <= 0) {
26
- * entity.destroy();
27
- * }
28
- * }
29
- * }
30
- * }
31
- * ```
32
- */
33
- export class Component {
34
- /**
35
- * 创建组件实例
36
- *
37
- * 自动分配唯一ID给组件。
38
- */
39
- constructor() {
40
- /**
41
- * 所属实体ID
42
- *
43
- * 存储实体ID而非引用,避免循环引用,符合ECS数据导向设计。
44
- */
45
- this.entityId = null;
46
- this.id = Component.idGenerator++;
47
- }
48
- /**
49
- * 组件添加到实体时的回调
50
- *
51
- * 当组件被添加到实体时调用,可以在此方法中进行初始化操作。
52
- *
53
- * @remarks
54
- * 这是一个生命周期钩子,用于组件的初始化逻辑。
55
- * 虽然保留此方法,但建议将复杂的初始化逻辑放在 System 中处理。
56
- */
57
- onAddedToEntity() { }
58
- /**
59
- * 组件从实体移除时的回调
60
- *
61
- * 当组件从实体中移除时调用,可以在此方法中进行清理操作。
62
- *
63
- * @remarks
64
- * 这是一个生命周期钩子,用于组件的清理逻辑。
65
- * 虽然保留此方法,但建议将复杂的清理逻辑放在 System 中处理。
66
- */
67
- onRemovedFromEntity() { }
68
- /**
69
- * 组件反序列化后的回调
70
- *
71
- * 当组件从场景文件加载或快照恢复后调用,可以在此方法中恢复运行时数据。
72
- *
73
- * @remarks
74
- * 这是一个生命周期钩子,用于恢复无法序列化的运行时数据。
75
- * 例如:从图片路径重新加载图片尺寸信息,重建缓存等。
76
- *
77
- * @example
78
- * ```typescript
79
- * class TilemapComponent extends Component {
80
- * public tilesetImage: string = '';
81
- * private _tilesetData: TilesetData | undefined;
82
- *
83
- * public async onDeserialized(): Promise<void> {
84
- * if (this.tilesetImage) {
85
- * // 重新加载 tileset 图片并恢复运行时数据
86
- * const img = await loadImage(this.tilesetImage);
87
- * this.setTilesetInfo(img.width, img.height, ...);
88
- * }
89
- * }
90
- * }
91
- * ```
92
- */
93
- onDeserialized() { }
94
- }
95
- /**
96
- * 组件ID生成器
97
- *
98
- * 用于为每个组件分配唯一的ID。
99
- */
100
- Component.idGenerator = 0;
101
- __decorate([
102
- Int32,
103
- __metadata("design:type", Object)
104
- ], Component.prototype, "entityId", void 0);
105
- //# sourceMappingURL=Component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Component.js","sourceRoot":"","sources":["../../src/ECS/Component.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAgB,SAAS;IAuB3B;;;;OAIG;IACH;QAbA;;;;WAIG;QAEI,aAAQ,GAAkB,IAAI,CAAC;QAQlC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACI,eAAe,KAAU,CAAC;IAEjC;;;;;;;;OAQG;IACI,mBAAmB,KAAU,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,cAAc,KAA0B,CAAC;;AA9EhD;;;;GAIG;AACY,qBAAW,GAAW,CAAC,AAAZ,CAAa;AAehC;IADN,KAAK;;2CACgC"}
@@ -1,46 +0,0 @@
1
- import { Component } from '../Component';
2
- /**
3
- * 层级关系组件 - 用于建立实体间的父子关系
4
- *
5
- * 只有需要层级关系的实体才添加此组件,遵循 ECS 组合原则。
6
- * 层级操作应通过 HierarchySystem 进行,而非直接修改此组件。
7
- *
8
- * @example
9
- * ```typescript
10
- * // 通过 HierarchySystem 设置父子关系
11
- * const hierarchySystem = scene.getSystem(HierarchySystem);
12
- * hierarchySystem.setParent(childEntity, parentEntity);
13
- *
14
- * // 查询层级信息
15
- * const parent = hierarchySystem.getParent(entity);
16
- * const children = hierarchySystem.getChildren(entity);
17
- * ```
18
- */
19
- export declare class HierarchyComponent extends Component {
20
- /**
21
- * 父实体 ID
22
- * null 表示根实体(无父级)
23
- */
24
- parentId: number | null;
25
- /**
26
- * 子实体 ID 列表
27
- * 顺序即为子级的排列顺序
28
- */
29
- childIds: number[];
30
- /**
31
- * 在层级中的深度
32
- * 根实体深度为 0,由 HierarchySystem 维护
33
- */
34
- depth: number;
35
- /**
36
- * 层级中是否激活
37
- * 考虑所有祖先的激活状态,由 HierarchySystem 维护
38
- */
39
- bActiveInHierarchy: boolean;
40
- /**
41
- * 层级缓存是否脏
42
- * 用于优化缓存更新
43
- */
44
- bCacheDirty: boolean;
45
- }
46
- //# sourceMappingURL=HierarchyComponent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchyComponent.d.ts","sourceRoot":"","sources":["../../../src/ECS/Components/HierarchyComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAEa,kBAAmB,SAAQ,SAAS;IAC7C;;;OAGG;IAEI,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEtC;;;OAGG;IAEI,QAAQ,EAAE,MAAM,EAAE,CAAM;IAE/B;;;OAGG;IACI,KAAK,EAAE,MAAM,CAAK;IAEzB;;;OAGG;IACI,kBAAkB,EAAE,OAAO,CAAQ;IAE1C;;;OAGG;IACI,WAAW,EAAE,OAAO,CAAQ;CACtC"}
@@ -1,65 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Component } from '../Component';
3
- import { ECSComponent } from '../Decorators';
4
- import { Serializable, Serialize } from '../Serialization/SerializationDecorators';
5
- /**
6
- * 层级关系组件 - 用于建立实体间的父子关系
7
- *
8
- * 只有需要层级关系的实体才添加此组件,遵循 ECS 组合原则。
9
- * 层级操作应通过 HierarchySystem 进行,而非直接修改此组件。
10
- *
11
- * @example
12
- * ```typescript
13
- * // 通过 HierarchySystem 设置父子关系
14
- * const hierarchySystem = scene.getSystem(HierarchySystem);
15
- * hierarchySystem.setParent(childEntity, parentEntity);
16
- *
17
- * // 查询层级信息
18
- * const parent = hierarchySystem.getParent(entity);
19
- * const children = hierarchySystem.getChildren(entity);
20
- * ```
21
- */
22
- let HierarchyComponent = class HierarchyComponent extends Component {
23
- constructor() {
24
- super(...arguments);
25
- /**
26
- * 父实体 ID
27
- * null 表示根实体(无父级)
28
- */
29
- this.parentId = null;
30
- /**
31
- * 子实体 ID 列表
32
- * 顺序即为子级的排列顺序
33
- */
34
- this.childIds = [];
35
- /**
36
- * 在层级中的深度
37
- * 根实体深度为 0,由 HierarchySystem 维护
38
- */
39
- this.depth = 0;
40
- /**
41
- * 层级中是否激活
42
- * 考虑所有祖先的激活状态,由 HierarchySystem 维护
43
- */
44
- this.bActiveInHierarchy = true;
45
- /**
46
- * 层级缓存是否脏
47
- * 用于优化缓存更新
48
- */
49
- this.bCacheDirty = true;
50
- }
51
- };
52
- __decorate([
53
- Serialize(),
54
- __metadata("design:type", Object)
55
- ], HierarchyComponent.prototype, "parentId", void 0);
56
- __decorate([
57
- Serialize(),
58
- __metadata("design:type", Array)
59
- ], HierarchyComponent.prototype, "childIds", void 0);
60
- HierarchyComponent = __decorate([
61
- ECSComponent('Hierarchy'),
62
- Serializable({ version: 1, typeId: 'Hierarchy' })
63
- ], HierarchyComponent);
64
- export { HierarchyComponent };
65
- //# sourceMappingURL=HierarchyComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchyComponent.js","sourceRoot":"","sources":["../../../src/ECS/Components/HierarchyComponent.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAEnF;;;;;;;;;;;;;;;;GAgBG;AAGI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAA1C;;QACH;;;WAGG;QAEI,aAAQ,GAAkB,IAAI,CAAC;QAEtC;;;WAGG;QAEI,aAAQ,GAAa,EAAE,CAAC;QAE/B;;;WAGG;QACI,UAAK,GAAW,CAAC,CAAC;QAEzB;;;WAGG;QACI,uBAAkB,GAAY,IAAI,CAAC;QAE1C;;;WAGG;QACI,gBAAW,GAAY,IAAI,CAAC;IACvC,CAAC;CAAA,CAAA;AA1BU;IADN,SAAS,EAAE;;oDAC0B;AAO/B;IADN,SAAS,EAAE;;oDACmB;AAbtB,kBAAkB;IAF9B,YAAY,CAAC,WAAW,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;GACrC,kBAAkB,CAgC9B"}
@@ -1,2 +0,0 @@
1
- export { HierarchyComponent } from './HierarchyComponent';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ECS/Components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { HierarchyComponent } from './HierarchyComponent';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ECS/Components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,103 +0,0 @@
1
- import { Entity } from '../Entity';
2
- import { ComponentType } from './ComponentStorage';
3
- import { BitMask64Data } from '../Utils';
4
- /**
5
- * 原型标识符
6
- */
7
- export type ArchetypeId = BitMask64Data;
8
- /**
9
- * 原型数据结构
10
- */
11
- export interface Archetype {
12
- /** 原型唯一标识符 */
13
- id: ArchetypeId;
14
- /** 包含的组件类型 */
15
- componentTypes: ComponentType[];
16
- /** 属于该原型的实体集合 */
17
- entities: Set<Entity>;
18
- }
19
- /**
20
- * 原型查询结果
21
- */
22
- export interface ArchetypeQueryResult {
23
- /** 匹配的原型列表 */
24
- archetypes: Archetype[];
25
- /** 所有匹配实体的总数 */
26
- totalEntities: number;
27
- }
28
- /**
29
- * Archetype系统
30
- *
31
- * 根据实体的组件组合将实体分组到不同的原型中,提供高效的查询性能。
32
- */
33
- export declare class ArchetypeSystem {
34
- /** 所有原型的映射表 */
35
- private _archetypes;
36
- /** 实体到原型的映射 */
37
- private _entityToArchetype;
38
- /** 组件类型到原型的映射 */
39
- private _componentToArchetypes;
40
- /** 实体组件类型缓存 */
41
- private _entityComponentTypesCache;
42
- /** 所有原型 */
43
- private _allArchetypes;
44
- /**
45
- * 添加实体到原型系统
46
- */
47
- addEntity(entity: Entity): void;
48
- /**
49
- * 从原型系统中移除实体
50
- */
51
- removeEntity(entity: Entity): void;
52
- /**
53
- * 更新实体的原型归属
54
- *
55
- * 当实体的组件组合发生变化时调用此方法,将实体从旧原型移动到新原型。
56
- * 如果新的组件组合对应的原型不存在,将自动创建新原型。
57
- *
58
- * @param entity 要更新的实体
59
- */
60
- updateEntity(entity: Entity): void;
61
- /**
62
- * 查询包含指定组件组合的原型
63
- *
64
- * @param componentTypes 要查询的组件类型列表
65
- * @param operation 查询操作类型:'AND'(包含所有)或 'OR'(包含任意)
66
- * @returns 匹配的原型列表及实体总数
67
- */
68
- queryArchetypes(componentTypes: ComponentType[], operation?: 'AND' | 'OR'): ArchetypeQueryResult;
69
- /**
70
- * 获取实体所属的原型
71
- */
72
- getEntityArchetype(entity: Entity): Archetype | undefined;
73
- /**
74
- * 获取所有原型
75
- */
76
- getAllArchetypes(): Archetype[];
77
- /**
78
- * 获取包含指定组件类型的所有实体
79
- */
80
- getEntitiesByComponent(componentType: ComponentType): Entity[];
81
- /**
82
- * 清空所有数据
83
- */
84
- clear(): void;
85
- /**
86
- * 更新所有原型数组
87
- */
88
- private updateAllArchetypeArrays;
89
- /**
90
- * 获取实体的组件类型列表
91
- */
92
- private getEntityComponentTypes;
93
- /**
94
- * 生成原型ID
95
- * 使用ComponentRegistry确保与Entity.componentMask使用相同的bitIndex
96
- */
97
- private generateArchetypeId;
98
- /**
99
- * 创建新原型
100
- */
101
- private createArchetype;
102
- }
103
- //# sourceMappingURL=ArchetypeSystem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArchetypeSystem.d.ts","sourceRoot":"","sources":["../../../src/ECS/Core/ArchetypeSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAGzD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,cAAc;IACd,EAAE,EAAE,WAAW,CAAC;IAChB,cAAc;IACd,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,iBAAiB;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,cAAc;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,eAAe;IACxB,eAAe;IACf,OAAO,CAAC,WAAW,CAAmC;IAEtD,eAAe;IACf,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,iBAAiB;IACjB,OAAO,CAAC,sBAAsB,CAA4C;IAE1E,eAAe;IACf,OAAO,CAAC,0BAA0B,CAAsC;IAExE,WAAW;IACX,OAAO,CAAC,cAAc,CAAmB;IAEzC;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAatC;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWzC;;;;;;;OAOG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA8BzC;;;;;;OAMG;IACI,eAAe,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,SAAS,GAAE,KAAK,GAAG,IAAY,GAAG,oBAAoB;IAyE9G;;OAEG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIhE;;OAEG;IACI,gBAAgB,IAAI,SAAS,EAAE;IAItC;;OAEG;IACI,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE;IAerE;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAwB1B"}
@@ -1,244 +0,0 @@
1
- import { ComponentRegistry } from './ComponentStorage';
2
- import { BitMask64Utils } from '../Utils';
3
- import { BitMaskHashMap } from '../Utils/BitMaskHashMap';
4
- /**
5
- * Archetype系统
6
- *
7
- * 根据实体的组件组合将实体分组到不同的原型中,提供高效的查询性能。
8
- */
9
- export class ArchetypeSystem {
10
- constructor() {
11
- /** 所有原型的映射表 */
12
- this._archetypes = new BitMaskHashMap();
13
- /** 实体到原型的映射 */
14
- this._entityToArchetype = new Map();
15
- /** 组件类型到原型的映射 */
16
- this._componentToArchetypes = new Map();
17
- /** 实体组件类型缓存 */
18
- this._entityComponentTypesCache = new Map();
19
- /** 所有原型 */
20
- this._allArchetypes = [];
21
- }
22
- /**
23
- * 添加实体到原型系统
24
- */
25
- addEntity(entity) {
26
- const componentTypes = this.getEntityComponentTypes(entity);
27
- const archetypeId = this.generateArchetypeId(componentTypes);
28
- let archetype = this._archetypes.get(archetypeId);
29
- if (!archetype) {
30
- archetype = this.createArchetype(componentTypes);
31
- }
32
- archetype.entities.add(entity);
33
- this._entityToArchetype.set(entity, archetype);
34
- }
35
- /**
36
- * 从原型系统中移除实体
37
- */
38
- removeEntity(entity) {
39
- const archetype = this._entityToArchetype.get(entity);
40
- if (!archetype)
41
- return;
42
- archetype.entities.delete(entity);
43
- // 清理实体相关缓存
44
- this._entityComponentTypesCache.delete(entity);
45
- this._entityToArchetype.delete(entity);
46
- }
47
- /**
48
- * 更新实体的原型归属
49
- *
50
- * 当实体的组件组合发生变化时调用此方法,将实体从旧原型移动到新原型。
51
- * 如果新的组件组合对应的原型不存在,将自动创建新原型。
52
- *
53
- * @param entity 要更新的实体
54
- */
55
- updateEntity(entity) {
56
- const currentArchetype = this._entityToArchetype.get(entity);
57
- // 清理实体组件类型缓存,强制重新计算
58
- this._entityComponentTypesCache.delete(entity);
59
- const newComponentTypes = this.getEntityComponentTypes(entity);
60
- const newArchetypeId = this.generateArchetypeId(newComponentTypes);
61
- // 如果实体已在正确的原型中,无需更新
62
- if (currentArchetype && currentArchetype.id === newArchetypeId) {
63
- return;
64
- }
65
- // 从旧原型中移除实体
66
- if (currentArchetype) {
67
- currentArchetype.entities.delete(entity);
68
- }
69
- // 获取或创建新原型
70
- let newArchetype = this._archetypes.get(newArchetypeId);
71
- if (!newArchetype) {
72
- newArchetype = this.createArchetype(newComponentTypes);
73
- }
74
- // 将实体添加到新原型
75
- newArchetype.entities.add(entity);
76
- this._entityToArchetype.set(entity, newArchetype);
77
- }
78
- /**
79
- * 查询包含指定组件组合的原型
80
- *
81
- * @param componentTypes 要查询的组件类型列表
82
- * @param operation 查询操作类型:'AND'(包含所有)或 'OR'(包含任意)
83
- * @returns 匹配的原型列表及实体总数
84
- */
85
- queryArchetypes(componentTypes, operation = 'AND') {
86
- const matchingArchetypes = [];
87
- let totalEntities = 0;
88
- if (operation === 'AND') {
89
- if (componentTypes.length === 0) {
90
- for (const archetype of this._allArchetypes) {
91
- matchingArchetypes.push(archetype);
92
- totalEntities += archetype.entities.size;
93
- }
94
- return { archetypes: matchingArchetypes, totalEntities };
95
- }
96
- if (componentTypes.length === 1) {
97
- const archetypes = this._componentToArchetypes.get(componentTypes[0]);
98
- if (archetypes) {
99
- for (const archetype of archetypes) {
100
- matchingArchetypes.push(archetype);
101
- totalEntities += archetype.entities.size;
102
- }
103
- }
104
- return { archetypes: matchingArchetypes, totalEntities };
105
- }
106
- let smallestSet;
107
- let smallestSize = Infinity;
108
- for (const componentType of componentTypes) {
109
- const archetypes = this._componentToArchetypes.get(componentType);
110
- if (!archetypes || archetypes.size === 0) {
111
- return { archetypes: [], totalEntities: 0 };
112
- }
113
- if (archetypes.size < smallestSize) {
114
- smallestSize = archetypes.size;
115
- smallestSet = archetypes;
116
- }
117
- }
118
- const queryMask = this.generateArchetypeId(componentTypes);
119
- if (smallestSet) {
120
- for (const archetype of smallestSet) {
121
- if (BitMask64Utils.hasAll(archetype.id, queryMask)) {
122
- matchingArchetypes.push(archetype);
123
- totalEntities += archetype.entities.size;
124
- }
125
- }
126
- }
127
- }
128
- else {
129
- const foundArchetypes = new Set();
130
- for (const componentType of componentTypes) {
131
- const archetypes = this._componentToArchetypes.get(componentType);
132
- if (archetypes) {
133
- for (const archetype of archetypes) {
134
- foundArchetypes.add(archetype);
135
- }
136
- }
137
- }
138
- for (const archetype of foundArchetypes) {
139
- matchingArchetypes.push(archetype);
140
- totalEntities += archetype.entities.size;
141
- }
142
- }
143
- return {
144
- archetypes: matchingArchetypes,
145
- totalEntities
146
- };
147
- }
148
- /**
149
- * 获取实体所属的原型
150
- */
151
- getEntityArchetype(entity) {
152
- return this._entityToArchetype.get(entity);
153
- }
154
- /**
155
- * 获取所有原型
156
- */
157
- getAllArchetypes() {
158
- return this._allArchetypes.slice();
159
- }
160
- /**
161
- * 获取包含指定组件类型的所有实体
162
- */
163
- getEntitiesByComponent(componentType) {
164
- const archetypes = this._componentToArchetypes.get(componentType);
165
- if (!archetypes || archetypes.size === 0) {
166
- return [];
167
- }
168
- const entities = [];
169
- for (const archetype of archetypes) {
170
- for (const entity of archetype.entities) {
171
- entities.push(entity);
172
- }
173
- }
174
- return entities;
175
- }
176
- /**
177
- * 清空所有数据
178
- */
179
- clear() {
180
- this._archetypes.clear();
181
- this._entityToArchetype.clear();
182
- this._componentToArchetypes.clear();
183
- this._entityComponentTypesCache.clear();
184
- this._allArchetypes = [];
185
- }
186
- /**
187
- * 更新所有原型数组
188
- */
189
- updateAllArchetypeArrays() {
190
- this._allArchetypes = [];
191
- for (const archetype of this._archetypes.values()) {
192
- this._allArchetypes.push(archetype);
193
- }
194
- }
195
- /**
196
- * 获取实体的组件类型列表
197
- */
198
- getEntityComponentTypes(entity) {
199
- let componentTypes = this._entityComponentTypesCache.get(entity);
200
- if (!componentTypes) {
201
- componentTypes = entity.components.map((component) => component.constructor);
202
- this._entityComponentTypesCache.set(entity, componentTypes);
203
- }
204
- return componentTypes;
205
- }
206
- /**
207
- * 生成原型ID
208
- * 使用ComponentRegistry确保与Entity.componentMask使用相同的bitIndex
209
- */
210
- generateArchetypeId(componentTypes) {
211
- const mask = BitMask64Utils.clone(BitMask64Utils.ZERO);
212
- for (const type of componentTypes) {
213
- if (!ComponentRegistry.isRegistered(type)) {
214
- ComponentRegistry.register(type);
215
- }
216
- const bitMask = ComponentRegistry.getBitMask(type);
217
- BitMask64Utils.orInPlace(mask, bitMask);
218
- }
219
- return mask;
220
- }
221
- /**
222
- * 创建新原型
223
- */
224
- createArchetype(componentTypes) {
225
- const id = this.generateArchetypeId(componentTypes);
226
- const archetype = {
227
- id,
228
- componentTypes: [...componentTypes],
229
- entities: new Set()
230
- };
231
- this._archetypes.set(id, archetype);
232
- this.updateAllArchetypeArrays();
233
- for (const componentType of componentTypes) {
234
- let archetypes = this._componentToArchetypes.get(componentType);
235
- if (!archetypes) {
236
- archetypes = new Set();
237
- this._componentToArchetypes.set(componentType, archetypes);
238
- }
239
- archetypes.add(archetype);
240
- }
241
- return archetype;
242
- }
243
- }
244
- //# sourceMappingURL=ArchetypeSystem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArchetypeSystem.js","sourceRoot":"","sources":["../../../src/ECS/Core/ArchetypeSystem.ts"],"names":[],"mappings":"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"}