@esengine/ecs-framework 2.2.20 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/bin/Core/DI/Decorators.d.ts +206 -0
  2. package/bin/Core/DI/Decorators.d.ts.map +1 -0
  3. package/bin/Core/DI/Decorators.js +253 -0
  4. package/bin/Core/DI/Decorators.js.map +1 -0
  5. package/bin/Core/DI/index.d.ts +8 -0
  6. package/bin/Core/DI/index.d.ts.map +1 -0
  7. package/bin/Core/DI/index.js +7 -0
  8. package/bin/Core/DI/index.js.map +1 -0
  9. package/bin/Core/Plugin.d.ts +112 -0
  10. package/bin/Core/Plugin.d.ts.map +1 -0
  11. package/bin/Core/Plugin.js +19 -0
  12. package/bin/Core/Plugin.js.map +1 -0
  13. package/bin/Core/PluginManager.d.ts +118 -0
  14. package/bin/Core/PluginManager.d.ts.map +1 -0
  15. package/bin/Core/PluginManager.js +229 -0
  16. package/bin/Core/PluginManager.js.map +1 -0
  17. package/bin/Core/ServiceContainer.d.ts +221 -0
  18. package/bin/Core/ServiceContainer.d.ts.map +1 -0
  19. package/bin/Core/ServiceContainer.js +352 -0
  20. package/bin/Core/ServiceContainer.js.map +1 -0
  21. package/bin/Core.d.ts +379 -0
  22. package/bin/Core.d.ts.map +1 -0
  23. package/bin/Core.js +553 -0
  24. package/bin/Core.js.map +1 -0
  25. package/bin/ECS/Component.d.ts +104 -0
  26. package/bin/ECS/Component.d.ts.map +1 -0
  27. package/bin/ECS/Component.js +105 -0
  28. package/bin/ECS/Component.js.map +1 -0
  29. package/bin/ECS/Components/HierarchyComponent.d.ts +46 -0
  30. package/bin/ECS/Components/HierarchyComponent.d.ts.map +1 -0
  31. package/bin/ECS/Components/HierarchyComponent.js +65 -0
  32. package/bin/ECS/Components/HierarchyComponent.js.map +1 -0
  33. package/bin/ECS/Components/index.d.ts +2 -0
  34. package/bin/ECS/Components/index.d.ts.map +1 -0
  35. package/bin/ECS/Components/index.js +2 -0
  36. package/bin/ECS/Components/index.js.map +1 -0
  37. package/bin/ECS/Core/ArchetypeSystem.d.ts +103 -0
  38. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +1 -0
  39. package/bin/ECS/Core/ArchetypeSystem.js +244 -0
  40. package/bin/ECS/Core/ArchetypeSystem.js.map +1 -0
  41. package/bin/ECS/Core/CommandBuffer.d.ts +154 -0
  42. package/bin/ECS/Core/CommandBuffer.d.ts.map +1 -0
  43. package/bin/ECS/Core/CommandBuffer.js +244 -0
  44. package/bin/ECS/Core/CommandBuffer.js.map +1 -0
  45. package/bin/ECS/Core/ComponentPool.d.ts +139 -0
  46. package/bin/ECS/Core/ComponentPool.d.ts.map +1 -0
  47. package/bin/ECS/Core/ComponentPool.js +276 -0
  48. package/bin/ECS/Core/ComponentPool.js.map +1 -0
  49. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +127 -0
  50. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +1 -0
  51. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +235 -0
  52. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +1 -0
  53. package/bin/ECS/Core/ComponentStorage.d.ts +185 -0
  54. package/bin/ECS/Core/ComponentStorage.d.ts.map +1 -0
  55. package/bin/ECS/Core/ComponentStorage.js +321 -0
  56. package/bin/ECS/Core/ComponentStorage.js.map +1 -0
  57. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +26 -0
  58. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +1 -0
  59. package/bin/ECS/Core/EntityLifecyclePolicy.js +2 -0
  60. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +1 -0
  61. package/bin/ECS/Core/EventBus.d.ts +210 -0
  62. package/bin/ECS/Core/EventBus.d.ts.map +1 -0
  63. package/bin/ECS/Core/EventBus.js +370 -0
  64. package/bin/ECS/Core/EventBus.js.map +1 -0
  65. package/bin/ECS/Core/EventSystem.d.ts +225 -0
  66. package/bin/ECS/Core/EventSystem.d.ts.map +1 -0
  67. package/bin/ECS/Core/EventSystem.js +448 -0
  68. package/bin/ECS/Core/EventSystem.js.map +1 -0
  69. package/bin/ECS/Core/Events/index.d.ts +3 -0
  70. package/bin/ECS/Core/Events/index.d.ts.map +1 -0
  71. package/bin/ECS/Core/Events/index.js +3 -0
  72. package/bin/ECS/Core/Events/index.js.map +1 -0
  73. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +35 -0
  74. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +1 -0
  75. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +48 -0
  76. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +1 -0
  77. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +135 -0
  78. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +1 -0
  79. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +166 -0
  80. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +1 -0
  81. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +58 -0
  82. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +1 -0
  83. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +85 -0
  84. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +1 -0
  85. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +110 -0
  86. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +1 -0
  87. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +181 -0
  88. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +1 -0
  89. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +53 -0
  90. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +1 -0
  91. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +79 -0
  92. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +1 -0
  93. package/bin/ECS/Core/FluentAPI/index.d.ts +6 -0
  94. package/bin/ECS/Core/FluentAPI/index.d.ts.map +1 -0
  95. package/bin/ECS/Core/FluentAPI/index.js +6 -0
  96. package/bin/ECS/Core/FluentAPI/index.js.map +1 -0
  97. package/bin/ECS/Core/FluentAPI.d.ts +2 -0
  98. package/bin/ECS/Core/FluentAPI.d.ts.map +1 -0
  99. package/bin/ECS/Core/FluentAPI.js +3 -0
  100. package/bin/ECS/Core/FluentAPI.js.map +1 -0
  101. package/bin/ECS/Core/Query/TypedQuery.d.ts +214 -0
  102. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +1 -0
  103. package/bin/ECS/Core/Query/TypedQuery.js +294 -0
  104. package/bin/ECS/Core/Query/TypedQuery.js.map +1 -0
  105. package/bin/ECS/Core/Query/index.d.ts +3 -0
  106. package/bin/ECS/Core/Query/index.d.ts.map +1 -0
  107. package/bin/ECS/Core/Query/index.js +3 -0
  108. package/bin/ECS/Core/Query/index.js.map +1 -0
  109. package/bin/ECS/Core/QuerySystem.d.ts +458 -0
  110. package/bin/ECS/Core/QuerySystem.d.ts.map +1 -0
  111. package/bin/ECS/Core/QuerySystem.js +1069 -0
  112. package/bin/ECS/Core/QuerySystem.js.map +1 -0
  113. package/bin/ECS/Core/QueryTypes.d.ts +34 -0
  114. package/bin/ECS/Core/QueryTypes.d.ts.map +1 -0
  115. package/bin/ECS/Core/QueryTypes.js +13 -0
  116. package/bin/ECS/Core/QueryTypes.js.map +1 -0
  117. package/bin/ECS/Core/ReactiveQuery.d.ts +211 -0
  118. package/bin/ECS/Core/ReactiveQuery.d.ts.map +1 -0
  119. package/bin/ECS/Core/ReactiveQuery.js +401 -0
  120. package/bin/ECS/Core/ReactiveQuery.js.map +1 -0
  121. package/bin/ECS/Core/ReferenceTracker.d.ts +111 -0
  122. package/bin/ECS/Core/ReferenceTracker.d.ts.map +1 -0
  123. package/bin/ECS/Core/ReferenceTracker.js +254 -0
  124. package/bin/ECS/Core/ReferenceTracker.js.map +1 -0
  125. package/bin/ECS/Core/SoASerializer.d.ts +28 -0
  126. package/bin/ECS/Core/SoASerializer.d.ts.map +1 -0
  127. package/bin/ECS/Core/SoASerializer.js +85 -0
  128. package/bin/ECS/Core/SoASerializer.js.map +1 -0
  129. package/bin/ECS/Core/SoAStorage.d.ts +129 -0
  130. package/bin/ECS/Core/SoAStorage.d.ts.map +1 -0
  131. package/bin/ECS/Core/SoAStorage.js +685 -0
  132. package/bin/ECS/Core/SoAStorage.js.map +1 -0
  133. package/bin/ECS/Core/SoATypeRegistry.d.ts +50 -0
  134. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +1 -0
  135. package/bin/ECS/Core/SoATypeRegistry.js +135 -0
  136. package/bin/ECS/Core/SoATypeRegistry.js.map +1 -0
  137. package/bin/ECS/Core/Storage/index.d.ts +4 -0
  138. package/bin/ECS/Core/Storage/index.d.ts.map +1 -0
  139. package/bin/ECS/Core/Storage/index.js +4 -0
  140. package/bin/ECS/Core/Storage/index.js.map +1 -0
  141. package/bin/ECS/Core/StorageDecorators.d.ts +20 -0
  142. package/bin/ECS/Core/StorageDecorators.d.ts.map +1 -0
  143. package/bin/ECS/Core/StorageDecorators.js +27 -0
  144. package/bin/ECS/Core/StorageDecorators.js.map +1 -0
  145. package/bin/ECS/CoreEvents.d.ts +131 -0
  146. package/bin/ECS/CoreEvents.d.ts.map +1 -0
  147. package/bin/ECS/CoreEvents.js +163 -0
  148. package/bin/ECS/CoreEvents.js.map +1 -0
  149. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +46 -0
  150. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +1 -0
  151. package/bin/ECS/Decorators/EntityRefDecorator.js +118 -0
  152. package/bin/ECS/Decorators/EntityRefDecorator.js.map +1 -0
  153. package/bin/ECS/Decorators/PropertyDecorator.d.ts +168 -0
  154. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +1 -0
  155. package/bin/ECS/Decorators/PropertyDecorator.js +40 -0
  156. package/bin/ECS/Decorators/PropertyDecorator.js.map +1 -0
  157. package/bin/ECS/Decorators/TypeDecorators.d.ts +124 -0
  158. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +1 -0
  159. package/bin/ECS/Decorators/TypeDecorators.js +151 -0
  160. package/bin/ECS/Decorators/TypeDecorators.js.map +1 -0
  161. package/bin/ECS/Decorators/index.d.ts +7 -0
  162. package/bin/ECS/Decorators/index.d.ts.map +1 -0
  163. package/bin/ECS/Decorators/index.js +4 -0
  164. package/bin/ECS/Decorators/index.js.map +1 -0
  165. package/bin/ECS/Entity.d.ts +415 -0
  166. package/bin/ECS/Entity.d.ts.map +1 -0
  167. package/bin/ECS/Entity.js +683 -0
  168. package/bin/ECS/Entity.js.map +1 -0
  169. package/bin/ECS/EntityTags.d.ts +71 -0
  170. package/bin/ECS/EntityTags.d.ts.map +1 -0
  171. package/bin/ECS/EntityTags.js +82 -0
  172. package/bin/ECS/EntityTags.js.map +1 -0
  173. package/bin/ECS/IScene.d.ts +308 -0
  174. package/bin/ECS/IScene.d.ts.map +1 -0
  175. package/bin/ECS/IScene.js +2 -0
  176. package/bin/ECS/IScene.js.map +1 -0
  177. package/bin/ECS/Scene.d.ts +799 -0
  178. package/bin/ECS/Scene.d.ts.map +1 -0
  179. package/bin/ECS/Scene.js +1203 -0
  180. package/bin/ECS/Scene.js.map +1 -0
  181. package/bin/ECS/SceneManager.d.ts +197 -0
  182. package/bin/ECS/SceneManager.d.ts.map +1 -0
  183. package/bin/ECS/SceneManager.js +264 -0
  184. package/bin/ECS/SceneManager.js.map +1 -0
  185. package/bin/ECS/Serialization/ComponentSerializer.d.ts +106 -0
  186. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +1 -0
  187. package/bin/ECS/Serialization/ComponentSerializer.js +251 -0
  188. package/bin/ECS/Serialization/ComponentSerializer.js.map +1 -0
  189. package/bin/ECS/Serialization/EntitySerializer.d.ts +111 -0
  190. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +1 -0
  191. package/bin/ECS/Serialization/EntitySerializer.js +155 -0
  192. package/bin/ECS/Serialization/EntitySerializer.js.map +1 -0
  193. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +259 -0
  194. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +1 -0
  195. package/bin/ECS/Serialization/IncrementalSerializer.js +500 -0
  196. package/bin/ECS/Serialization/IncrementalSerializer.js.map +1 -0
  197. package/bin/ECS/Serialization/SceneSerializer.d.ts +213 -0
  198. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +1 -0
  199. package/bin/ECS/Serialization/SceneSerializer.js +387 -0
  200. package/bin/ECS/Serialization/SceneSerializer.js.map +1 -0
  201. package/bin/ECS/Serialization/SerializationDecorators.d.ts +136 -0
  202. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +1 -0
  203. package/bin/ECS/Serialization/SerializationDecorators.js +216 -0
  204. package/bin/ECS/Serialization/SerializationDecorators.js.map +1 -0
  205. package/bin/ECS/Serialization/VersionMigration.d.ts +156 -0
  206. package/bin/ECS/Serialization/VersionMigration.d.ts.map +1 -0
  207. package/bin/ECS/Serialization/VersionMigration.js +279 -0
  208. package/bin/ECS/Serialization/VersionMigration.js.map +1 -0
  209. package/bin/ECS/Serialization/index.d.ts +18 -0
  210. package/bin/ECS/Serialization/index.d.ts.map +1 -0
  211. package/bin/ECS/Serialization/index.js +18 -0
  212. package/bin/ECS/Serialization/index.js.map +1 -0
  213. package/bin/ECS/Systems/EntityCache.d.ts +114 -0
  214. package/bin/ECS/Systems/EntityCache.d.ts.map +1 -0
  215. package/bin/ECS/Systems/EntityCache.js +145 -0
  216. package/bin/ECS/Systems/EntityCache.js.map +1 -0
  217. package/bin/ECS/Systems/EntitySystem.d.ts +591 -0
  218. package/bin/ECS/Systems/EntitySystem.d.ts.map +1 -0
  219. package/bin/ECS/Systems/EntitySystem.js +1102 -0
  220. package/bin/ECS/Systems/EntitySystem.js.map +1 -0
  221. package/bin/ECS/Systems/HierarchySystem.d.ts +155 -0
  222. package/bin/ECS/Systems/HierarchySystem.d.ts.map +1 -0
  223. package/bin/ECS/Systems/HierarchySystem.js +498 -0
  224. package/bin/ECS/Systems/HierarchySystem.js.map +1 -0
  225. package/bin/ECS/Systems/IntervalSystem.d.ts +33 -0
  226. package/bin/ECS/Systems/IntervalSystem.d.ts.map +1 -0
  227. package/bin/ECS/Systems/IntervalSystem.js +50 -0
  228. package/bin/ECS/Systems/IntervalSystem.js.map +1 -0
  229. package/bin/ECS/Systems/PassiveSystem.d.ts +17 -0
  230. package/bin/ECS/Systems/PassiveSystem.d.ts.map +1 -0
  231. package/bin/ECS/Systems/PassiveSystem.js +19 -0
  232. package/bin/ECS/Systems/PassiveSystem.js.map +1 -0
  233. package/bin/ECS/Systems/ProcessingSystem.d.ts +21 -0
  234. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +1 -0
  235. package/bin/ECS/Systems/ProcessingSystem.js +20 -0
  236. package/bin/ECS/Systems/ProcessingSystem.js.map +1 -0
  237. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +313 -0
  238. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +1 -0
  239. package/bin/ECS/Systems/WorkerEntitySystem.js +792 -0
  240. package/bin/ECS/Systems/WorkerEntitySystem.js.map +1 -0
  241. package/bin/ECS/Systems/index.d.ts +8 -0
  242. package/bin/ECS/Systems/index.d.ts.map +1 -0
  243. package/bin/ECS/Systems/index.js +8 -0
  244. package/bin/ECS/Systems/index.js.map +1 -0
  245. package/bin/ECS/TypedEntity.d.ts +192 -0
  246. package/bin/ECS/TypedEntity.d.ts.map +1 -0
  247. package/bin/ECS/TypedEntity.js +254 -0
  248. package/bin/ECS/TypedEntity.js.map +1 -0
  249. package/bin/ECS/Utils/BigIntCompatibility.d.ts +151 -0
  250. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +1 -0
  251. package/bin/ECS/Utils/BigIntCompatibility.js +476 -0
  252. package/bin/ECS/Utils/BigIntCompatibility.js.map +1 -0
  253. package/bin/ECS/Utils/BitMaskHashMap.d.ts +28 -0
  254. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +1 -0
  255. package/bin/ECS/Utils/BitMaskHashMap.js +127 -0
  256. package/bin/ECS/Utils/BitMaskHashMap.js.map +1 -0
  257. package/bin/ECS/Utils/Bits.d.ts +154 -0
  258. package/bin/ECS/Utils/Bits.d.ts.map +1 -0
  259. package/bin/ECS/Utils/Bits.js +331 -0
  260. package/bin/ECS/Utils/Bits.js.map +1 -0
  261. package/bin/ECS/Utils/ComponentSparseSet.d.ts +143 -0
  262. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +1 -0
  263. package/bin/ECS/Utils/ComponentSparseSet.js +347 -0
  264. package/bin/ECS/Utils/ComponentSparseSet.js.map +1 -0
  265. package/bin/ECS/Utils/EntityList.d.ts +115 -0
  266. package/bin/ECS/Utils/EntityList.d.ts.map +1 -0
  267. package/bin/ECS/Utils/EntityList.js +258 -0
  268. package/bin/ECS/Utils/EntityList.js.map +1 -0
  269. package/bin/ECS/Utils/EntityProcessorList.d.ts +56 -0
  270. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +1 -0
  271. package/bin/ECS/Utils/EntityProcessorList.js +113 -0
  272. package/bin/ECS/Utils/EntityProcessorList.js.map +1 -0
  273. package/bin/ECS/Utils/IdentifierPool.d.ts +203 -0
  274. package/bin/ECS/Utils/IdentifierPool.d.ts.map +1 -0
  275. package/bin/ECS/Utils/IdentifierPool.js +325 -0
  276. package/bin/ECS/Utils/IdentifierPool.js.map +1 -0
  277. package/bin/ECS/Utils/Matcher.d.ts +171 -0
  278. package/bin/ECS/Utils/Matcher.d.ts.map +1 -0
  279. package/bin/ECS/Utils/Matcher.js +293 -0
  280. package/bin/ECS/Utils/Matcher.js.map +1 -0
  281. package/bin/ECS/Utils/SparseSet.d.ts +170 -0
  282. package/bin/ECS/Utils/SparseSet.d.ts.map +1 -0
  283. package/bin/ECS/Utils/SparseSet.js +280 -0
  284. package/bin/ECS/Utils/SparseSet.js.map +1 -0
  285. package/bin/ECS/Utils/index.d.ts +9 -0
  286. package/bin/ECS/Utils/index.d.ts.map +1 -0
  287. package/bin/ECS/Utils/index.js +10 -0
  288. package/bin/ECS/Utils/index.js.map +1 -0
  289. package/bin/ECS/World.d.ts +238 -0
  290. package/bin/ECS/World.d.ts.map +1 -0
  291. package/bin/ECS/World.js +416 -0
  292. package/bin/ECS/World.js.map +1 -0
  293. package/bin/ECS/WorldManager.d.ts +224 -0
  294. package/bin/ECS/WorldManager.d.ts.map +1 -0
  295. package/bin/ECS/WorldManager.js +365 -0
  296. package/bin/ECS/WorldManager.js.map +1 -0
  297. package/bin/ECS/index.d.ts +26 -0
  298. package/bin/ECS/index.d.ts.map +1 -0
  299. package/bin/ECS/index.js +21 -0
  300. package/bin/ECS/index.js.map +1 -0
  301. package/bin/Platform/IPlatformAdapter.d.ts +169 -0
  302. package/bin/Platform/IPlatformAdapter.d.ts.map +1 -0
  303. package/bin/Platform/IPlatformAdapter.js +2 -0
  304. package/bin/Platform/IPlatformAdapter.js.map +1 -0
  305. package/bin/Platform/PlatformDetector.d.ts +56 -0
  306. package/bin/Platform/PlatformDetector.d.ts.map +1 -0
  307. package/bin/Platform/PlatformDetector.js +247 -0
  308. package/bin/Platform/PlatformDetector.js.map +1 -0
  309. package/bin/Platform/PlatformManager.d.ts +50 -0
  310. package/bin/Platform/PlatformManager.d.ts.map +1 -0
  311. package/bin/Platform/PlatformManager.js +114 -0
  312. package/bin/Platform/PlatformManager.js.map +1 -0
  313. package/bin/Platform/index.d.ts +19 -0
  314. package/bin/Platform/index.d.ts.map +1 -0
  315. package/bin/Platform/index.js +29 -0
  316. package/bin/Platform/index.js.map +1 -0
  317. package/bin/Plugins/DebugPlugin.d.ts +156 -0
  318. package/bin/Plugins/DebugPlugin.d.ts.map +1 -0
  319. package/bin/Plugins/DebugPlugin.js +248 -0
  320. package/bin/Plugins/DebugPlugin.js.map +1 -0
  321. package/bin/Plugins/index.d.ts +2 -0
  322. package/bin/Plugins/index.d.ts.map +1 -0
  323. package/bin/Plugins/index.js +2 -0
  324. package/bin/Plugins/index.js.map +1 -0
  325. package/bin/Types/IUpdatable.d.ts +18 -0
  326. package/bin/Types/IUpdatable.d.ts.map +1 -0
  327. package/bin/Types/IUpdatable.js +7 -0
  328. package/bin/Types/IUpdatable.js.map +1 -0
  329. package/bin/Types/TypeHelpers.d.ts +238 -0
  330. package/bin/Types/TypeHelpers.d.ts.map +1 -0
  331. package/bin/Types/TypeHelpers.js +19 -0
  332. package/bin/Types/TypeHelpers.js.map +1 -0
  333. package/bin/Types/index.d.ts +466 -0
  334. package/bin/Types/index.d.ts.map +1 -0
  335. package/bin/Types/index.js +7 -0
  336. package/bin/Types/index.js.map +1 -0
  337. package/bin/Utils/BinarySerializer.d.ts +23 -0
  338. package/bin/Utils/BinarySerializer.d.ts.map +1 -0
  339. package/bin/Utils/BinarySerializer.js +100 -0
  340. package/bin/Utils/BinarySerializer.js.map +1 -0
  341. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +153 -0
  342. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +1 -0
  343. package/bin/Utils/Debug/AdvancedProfilerCollector.js +406 -0
  344. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +1 -0
  345. package/bin/Utils/Debug/ComponentDataCollector.d.ts +32 -0
  346. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +1 -0
  347. package/bin/Utils/Debug/ComponentDataCollector.js +250 -0
  348. package/bin/Utils/Debug/ComponentDataCollector.js.map +1 -0
  349. package/bin/Utils/Debug/DebugConfigService.d.ts +16 -0
  350. package/bin/Utils/Debug/DebugConfigService.d.ts.map +1 -0
  351. package/bin/Utils/Debug/DebugConfigService.js +42 -0
  352. package/bin/Utils/Debug/DebugConfigService.js.map +1 -0
  353. package/bin/Utils/Debug/DebugManager.d.ts +131 -0
  354. package/bin/Utils/Debug/DebugManager.d.ts.map +1 -0
  355. package/bin/Utils/Debug/DebugManager.js +848 -0
  356. package/bin/Utils/Debug/DebugManager.js.map +1 -0
  357. package/bin/Utils/Debug/EntityDataCollector.d.ts +115 -0
  358. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +1 -0
  359. package/bin/Utils/Debug/EntityDataCollector.js +870 -0
  360. package/bin/Utils/Debug/EntityDataCollector.js.map +1 -0
  361. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +31 -0
  362. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +1 -0
  363. package/bin/Utils/Debug/PerformanceDataCollector.js +203 -0
  364. package/bin/Utils/Debug/PerformanceDataCollector.js.map +1 -0
  365. package/bin/Utils/Debug/SceneDataCollector.d.ts +18 -0
  366. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +1 -0
  367. package/bin/Utils/Debug/SceneDataCollector.js +43 -0
  368. package/bin/Utils/Debug/SceneDataCollector.js.map +1 -0
  369. package/bin/Utils/Debug/SystemDataCollector.d.ts +14 -0
  370. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +1 -0
  371. package/bin/Utils/Debug/SystemDataCollector.js +60 -0
  372. package/bin/Utils/Debug/SystemDataCollector.js.map +1 -0
  373. package/bin/Utils/Debug/WebSocketManager.d.ts +54 -0
  374. package/bin/Utils/Debug/WebSocketManager.d.ts.map +1 -0
  375. package/bin/Utils/Debug/WebSocketManager.js +141 -0
  376. package/bin/Utils/Debug/WebSocketManager.js.map +1 -0
  377. package/bin/Utils/Debug/index.d.ts +11 -0
  378. package/bin/Utils/Debug/index.d.ts.map +1 -0
  379. package/bin/Utils/Debug/index.js +10 -0
  380. package/bin/Utils/Debug/index.js.map +1 -0
  381. package/bin/Utils/Emitter.d.ts +61 -0
  382. package/bin/Utils/Emitter.d.ts.map +1 -0
  383. package/bin/Utils/Emitter.js +101 -0
  384. package/bin/Utils/Emitter.js.map +1 -0
  385. package/bin/Utils/Extensions/NumberExtension.d.ts +13 -0
  386. package/bin/Utils/Extensions/NumberExtension.d.ts.map +1 -0
  387. package/bin/Utils/Extensions/NumberExtension.js +17 -0
  388. package/bin/Utils/Extensions/NumberExtension.js.map +1 -0
  389. package/bin/Utils/Extensions/TypeUtils.d.ts +13 -0
  390. package/bin/Utils/Extensions/TypeUtils.d.ts.map +1 -0
  391. package/bin/Utils/Extensions/TypeUtils.js +15 -0
  392. package/bin/Utils/Extensions/TypeUtils.js.map +1 -0
  393. package/bin/Utils/Extensions/index.d.ts +3 -0
  394. package/bin/Utils/Extensions/index.d.ts.map +1 -0
  395. package/bin/Utils/Extensions/index.js +4 -0
  396. package/bin/Utils/Extensions/index.js.map +1 -0
  397. package/bin/Utils/GlobalManager.d.ts +29 -0
  398. package/bin/Utils/GlobalManager.d.ts.map +1 -0
  399. package/bin/Utils/GlobalManager.js +50 -0
  400. package/bin/Utils/GlobalManager.js.map +1 -0
  401. package/bin/Utils/Logger/ConsoleLogger.d.ts +74 -0
  402. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +1 -0
  403. package/bin/Utils/Logger/ConsoleLogger.js +187 -0
  404. package/bin/Utils/Logger/ConsoleLogger.js.map +1 -0
  405. package/bin/Utils/Logger/Constants.d.ts +36 -0
  406. package/bin/Utils/Logger/Constants.d.ts.map +1 -0
  407. package/bin/Utils/Logger/Constants.js +40 -0
  408. package/bin/Utils/Logger/Constants.js.map +1 -0
  409. package/bin/Utils/Logger/LoggerManager.d.ts +91 -0
  410. package/bin/Utils/Logger/LoggerManager.d.ts.map +1 -0
  411. package/bin/Utils/Logger/LoggerManager.js +167 -0
  412. package/bin/Utils/Logger/LoggerManager.js.map +1 -0
  413. package/bin/Utils/Logger/Types.d.ts +40 -0
  414. package/bin/Utils/Logger/Types.d.ts.map +1 -0
  415. package/bin/Utils/Logger/Types.js +2 -0
  416. package/bin/Utils/Logger/Types.js.map +1 -0
  417. package/bin/Utils/Logger/index.d.ts +5 -0
  418. package/bin/Utils/Logger/index.d.ts.map +1 -0
  419. package/bin/Utils/Logger/index.js +5 -0
  420. package/bin/Utils/Logger/index.js.map +1 -0
  421. package/bin/Utils/PerformanceMonitor.d.ts +196 -0
  422. package/bin/Utils/PerformanceMonitor.d.ts.map +1 -0
  423. package/bin/Utils/PerformanceMonitor.js +244 -0
  424. package/bin/Utils/PerformanceMonitor.js.map +1 -0
  425. package/bin/Utils/Pool/IPoolable.d.ts +29 -0
  426. package/bin/Utils/Pool/IPoolable.d.ts.map +1 -0
  427. package/bin/Utils/Pool/IPoolable.js +2 -0
  428. package/bin/Utils/Pool/IPoolable.js.map +1 -0
  429. package/bin/Utils/Pool/Pool.d.ts +109 -0
  430. package/bin/Utils/Pool/Pool.d.ts.map +1 -0
  431. package/bin/Utils/Pool/Pool.js +238 -0
  432. package/bin/Utils/Pool/Pool.js.map +1 -0
  433. package/bin/Utils/Pool/PoolManager.d.ts +96 -0
  434. package/bin/Utils/Pool/PoolManager.d.ts.map +1 -0
  435. package/bin/Utils/Pool/PoolManager.js +199 -0
  436. package/bin/Utils/Pool/PoolManager.js.map +1 -0
  437. package/bin/Utils/Pool/index.d.ts +4 -0
  438. package/bin/Utils/Pool/index.d.ts.map +1 -0
  439. package/bin/Utils/Pool/index.js +4 -0
  440. package/bin/Utils/Pool/index.js.map +1 -0
  441. package/bin/Utils/Profiler/AutoProfiler.d.ts +160 -0
  442. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +1 -0
  443. package/bin/Utils/Profiler/AutoProfiler.js +503 -0
  444. package/bin/Utils/Profiler/AutoProfiler.js.map +1 -0
  445. package/bin/Utils/Profiler/ProfilerSDK.d.ts +175 -0
  446. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +1 -0
  447. package/bin/Utils/Profiler/ProfilerSDK.js +727 -0
  448. package/bin/Utils/Profiler/ProfilerSDK.js.map +1 -0
  449. package/bin/Utils/Profiler/ProfilerTypes.d.ts +218 -0
  450. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +1 -0
  451. package/bin/Utils/Profiler/ProfilerTypes.js +47 -0
  452. package/bin/Utils/Profiler/ProfilerTypes.js.map +1 -0
  453. package/bin/Utils/Profiler/index.d.ts +8 -0
  454. package/bin/Utils/Profiler/index.d.ts.map +1 -0
  455. package/bin/Utils/Profiler/index.js +7 -0
  456. package/bin/Utils/Profiler/index.js.map +1 -0
  457. package/bin/Utils/Time.d.ts +47 -0
  458. package/bin/Utils/Time.d.ts.map +1 -0
  459. package/bin/Utils/Time.js +64 -0
  460. package/bin/Utils/Time.js.map +1 -0
  461. package/bin/Utils/Timers/ITimer.d.ts +16 -0
  462. package/bin/Utils/Timers/ITimer.d.ts.map +1 -0
  463. package/bin/Utils/Timers/ITimer.js +2 -0
  464. package/bin/Utils/Timers/ITimer.js.map +1 -0
  465. package/bin/Utils/Timers/Timer.d.ts +30 -0
  466. package/bin/Utils/Timers/Timer.d.ts.map +1 -0
  467. package/bin/Utils/Timers/Timer.js +58 -0
  468. package/bin/Utils/Timers/Timer.js.map +1 -0
  469. package/bin/Utils/Timers/TimerManager.d.ts +26 -0
  470. package/bin/Utils/Timers/TimerManager.d.ts.map +1 -0
  471. package/bin/Utils/Timers/TimerManager.js +48 -0
  472. package/bin/Utils/Timers/TimerManager.js.map +1 -0
  473. package/bin/Utils/index.d.ts +11 -0
  474. package/bin/Utils/index.d.ts.map +1 -0
  475. package/bin/Utils/index.js +11 -0
  476. package/bin/Utils/index.js.map +1 -0
  477. package/bin/index.d.ts +29 -0
  478. package/bin/index.d.ts.map +1 -0
  479. package/bin/index.js +36 -0
  480. package/bin/index.js.map +1 -0
  481. package/package.json +84 -47
  482. package/LICENSE +0 -21
  483. package/index.cjs +0 -2
  484. package/index.cjs.map +0 -1
  485. package/index.d.ts +0 -13021
  486. package/index.es5.js +0 -4
  487. package/index.es5.js.map +0 -1
  488. package/index.mjs +0 -2
  489. package/index.mjs.map +0 -1
  490. package/index.umd.js +0 -4
  491. package/index.umd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerEntitySystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/WorkerEntitySystem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { EntitySystem } from './EntitySystem';
2
+ export { ProcessingSystem } from './ProcessingSystem';
3
+ export { PassiveSystem } from './PassiveSystem';
4
+ export { IntervalSystem } from './IntervalSystem';
5
+ export { WorkerEntitySystem } from './WorkerEntitySystem';
6
+ export { HierarchySystem } from './HierarchySystem';
7
+ export type { WorkerProcessFunction, WorkerSystemConfig, SharedArrayBufferProcessFunction } from './WorkerEntitySystem';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ECS/Systems/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,YAAY,EACR,qBAAqB,EACrB,kBAAkB,EAClB,gCAAgC,EACnC,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ // ECS系统导出
2
+ export { EntitySystem } from './EntitySystem';
3
+ export { ProcessingSystem } from './ProcessingSystem';
4
+ export { PassiveSystem } from './PassiveSystem';
5
+ export { IntervalSystem } from './IntervalSystem';
6
+ export { WorkerEntitySystem } from './WorkerEntitySystem';
7
+ export { HierarchySystem } from './HierarchySystem';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ECS/Systems/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Entity类型安全工具函数
3
+ *
4
+ * 提供类型安全的组件操作工具函数,无需修改Entity类
5
+ */
6
+ import { Entity } from './Entity';
7
+ import type { Component } from './Component';
8
+ import type { ComponentConstructor, ComponentInstance } from '../Types/TypeHelpers';
9
+ /**
10
+ * 获取组件,如果不存在则抛出错误
11
+ *
12
+ * @param entity - 实体实例
13
+ * @param componentType - 组件类型构造函数
14
+ * @returns 组件实例(保证非空)
15
+ * @throws {Error} 如果组件不存在
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const position = requireComponent(entity, Position);
20
+ * position.x += 10;
21
+ * ```
22
+ */
23
+ export declare function requireComponent<T extends ComponentConstructor>(entity: Entity, componentType: T): ComponentInstance<T>;
24
+ /**
25
+ * 尝试获取组件
26
+ *
27
+ * @param entity - 实体实例
28
+ * @param componentType - 组件类型构造函数
29
+ * @returns 组件实例或undefined
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const health = tryGetComponent(entity, Health);
34
+ * if (health) {
35
+ * health.value -= 10;
36
+ * }
37
+ * ```
38
+ */
39
+ export declare function tryGetComponent<T extends ComponentConstructor>(entity: Entity, componentType: T): ComponentInstance<T> | undefined;
40
+ /**
41
+ * 批量获取组件
42
+ *
43
+ * @param entity - 实体实例
44
+ * @param types - 组件类型构造函数数组
45
+ * @returns 组件实例元组,每个元素可能为null
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const [pos, vel, health] = getComponents(entity, Position, Velocity, Health);
50
+ * if (pos && vel && health) {
51
+ * pos.x += vel.dx;
52
+ * }
53
+ * ```
54
+ */
55
+ export declare function getComponents<T extends readonly ComponentConstructor[]>(entity: Entity, ...types: T): {
56
+ [K in keyof T]: ComponentInstance<T[K]> | null;
57
+ };
58
+ /**
59
+ * 检查实体是否拥有所有指定的组件
60
+ *
61
+ * @param entity - 实体实例
62
+ * @param types - 组件类型构造函数数组
63
+ * @returns 如果拥有所有组件返回true,否则返回false
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * if (hasComponents(entity, Position, Velocity)) {
68
+ * const pos = entity.getComponent(Position)!;
69
+ * const vel = entity.getComponent(Velocity)!;
70
+ * }
71
+ * ```
72
+ */
73
+ export declare function hasComponents(entity: Entity, ...types: ComponentConstructor[]): boolean;
74
+ /**
75
+ * 检查实体是否拥有至少一个指定的组件
76
+ *
77
+ * @param entity - 实体实例
78
+ * @param types - 组件类型构造函数数组
79
+ * @returns 如果拥有任意一个组件返回true,否则返回false
80
+ */
81
+ export declare function hasAnyComponent(entity: Entity, ...types: ComponentConstructor[]): boolean;
82
+ /**
83
+ * 添加组件并立即配置
84
+ *
85
+ * @param entity - 实体实例
86
+ * @param component - 组件实例
87
+ * @param configure - 配置回调函数
88
+ * @returns 实体实例(支持链式调用)
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * addAndConfigure(entity, new Health(), health => {
93
+ * health.maxValue = 100;
94
+ * health.value = 50;
95
+ * });
96
+ * ```
97
+ */
98
+ export declare function addAndConfigure<T extends Component>(entity: Entity, component: T, configure: (component: T) => void): Entity;
99
+ /**
100
+ * 获取或添加组件
101
+ *
102
+ * 如果组件已存在则返回现有组件,否则通过工厂函数创建并添加
103
+ *
104
+ * @param entity - 实体实例
105
+ * @param componentType - 组件类型构造函数
106
+ * @param factory - 组件工厂函数(仅在组件不存在时调用)
107
+ * @returns 组件实例
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const health = getOrAddComponent(entity, Health, () => new Health(100));
112
+ * ```
113
+ */
114
+ export declare function getOrAddComponent<T extends ComponentConstructor>(entity: Entity, componentType: T, factory: () => ComponentInstance<T>): ComponentInstance<T>;
115
+ /**
116
+ * 更新组件的部分字段
117
+ *
118
+ * @param entity - 实体实例
119
+ * @param componentType - 组件类型构造函数
120
+ * @param data - 要更新的部分数据
121
+ * @returns 如果更新成功返回true,组件不存在返回false
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * updateComponent(entity, Position, { x: 100 });
126
+ * ```
127
+ */
128
+ export declare function updateComponent<T extends ComponentConstructor>(entity: Entity, componentType: T, data: Partial<ComponentInstance<T>>): boolean;
129
+ /**
130
+ * 类型安全的实体构建器
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const player = buildEntity(scene.createEntity("Player"))
135
+ * .with(new Position(100, 100))
136
+ * .with(new Velocity(0, 0))
137
+ * .withTag(1)
138
+ * .build();
139
+ * ```
140
+ */
141
+ export declare class TypedEntityBuilder {
142
+ private _entity;
143
+ constructor(entity: Entity);
144
+ /**
145
+ * 添加组件
146
+ */
147
+ with<T extends Component>(component: T): this;
148
+ /**
149
+ * 添加并配置组件
150
+ */
151
+ withConfigured<T extends Component>(component: T, configure: (component: T) => void): this;
152
+ /**
153
+ * 设置标签
154
+ */
155
+ withTag(tag: number): this;
156
+ /**
157
+ * 设置名称
158
+ */
159
+ withName(name: string): this;
160
+ /**
161
+ * 设置激活状态
162
+ */
163
+ withActive(active: boolean): this;
164
+ /**
165
+ * 设置启用状态
166
+ */
167
+ withEnabled(enabled: boolean): this;
168
+ /**
169
+ * 设置更新顺序
170
+ */
171
+ withUpdateOrder(order: number): this;
172
+ /**
173
+ * 添加子实体
174
+ */
175
+ withChild(child: Entity): this;
176
+ /**
177
+ * 完成构建
178
+ */
179
+ build(): Entity;
180
+ /**
181
+ * 获取正在构建的实体
182
+ */
183
+ get entity(): Entity;
184
+ }
185
+ /**
186
+ * 创建类型安全的实体构建器
187
+ *
188
+ * @param entity - 要包装的实体
189
+ * @returns 实体构建器
190
+ */
191
+ export declare function buildEntity(entity: Entity): TypedEntityBuilder;
192
+ //# sourceMappingURL=TypedEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypedEntity.d.ts","sourceRoot":"","sources":["../../src/ECS/TypedEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Entity类型安全工具函数
3
+ *
4
+ * 提供类型安全的组件操作工具函数,无需修改Entity类
5
+ */
6
+ import { HierarchySystem } from './Systems/HierarchySystem';
7
+ /**
8
+ * 获取组件,如果不存在则抛出错误
9
+ *
10
+ * @param entity - 实体实例
11
+ * @param componentType - 组件类型构造函数
12
+ * @returns 组件实例(保证非空)
13
+ * @throws {Error} 如果组件不存在
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const position = requireComponent(entity, Position);
18
+ * position.x += 10;
19
+ * ```
20
+ */
21
+ export function requireComponent(entity, componentType) {
22
+ const component = entity.getComponent(componentType);
23
+ if (!component) {
24
+ throw new Error(`Component ${componentType.name} not found on entity ${entity.name} (id: ${entity.id})`);
25
+ }
26
+ return component;
27
+ }
28
+ /**
29
+ * 尝试获取组件
30
+ *
31
+ * @param entity - 实体实例
32
+ * @param componentType - 组件类型构造函数
33
+ * @returns 组件实例或undefined
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const health = tryGetComponent(entity, Health);
38
+ * if (health) {
39
+ * health.value -= 10;
40
+ * }
41
+ * ```
42
+ */
43
+ export function tryGetComponent(entity, componentType) {
44
+ const component = entity.getComponent(componentType);
45
+ return component !== null ? component : undefined;
46
+ }
47
+ /**
48
+ * 批量获取组件
49
+ *
50
+ * @param entity - 实体实例
51
+ * @param types - 组件类型构造函数数组
52
+ * @returns 组件实例元组,每个元素可能为null
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const [pos, vel, health] = getComponents(entity, Position, Velocity, Health);
57
+ * if (pos && vel && health) {
58
+ * pos.x += vel.dx;
59
+ * }
60
+ * ```
61
+ */
62
+ export function getComponents(entity, ...types) {
63
+ return types.map((type) => entity.getComponent(type));
64
+ }
65
+ /**
66
+ * 检查实体是否拥有所有指定的组件
67
+ *
68
+ * @param entity - 实体实例
69
+ * @param types - 组件类型构造函数数组
70
+ * @returns 如果拥有所有组件返回true,否则返回false
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * if (hasComponents(entity, Position, Velocity)) {
75
+ * const pos = entity.getComponent(Position)!;
76
+ * const vel = entity.getComponent(Velocity)!;
77
+ * }
78
+ * ```
79
+ */
80
+ export function hasComponents(entity, ...types) {
81
+ return types.every((type) => entity.hasComponent(type));
82
+ }
83
+ /**
84
+ * 检查实体是否拥有至少一个指定的组件
85
+ *
86
+ * @param entity - 实体实例
87
+ * @param types - 组件类型构造函数数组
88
+ * @returns 如果拥有任意一个组件返回true,否则返回false
89
+ */
90
+ export function hasAnyComponent(entity, ...types) {
91
+ return types.some((type) => entity.hasComponent(type));
92
+ }
93
+ /**
94
+ * 添加组件并立即配置
95
+ *
96
+ * @param entity - 实体实例
97
+ * @param component - 组件实例
98
+ * @param configure - 配置回调函数
99
+ * @returns 实体实例(支持链式调用)
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * addAndConfigure(entity, new Health(), health => {
104
+ * health.maxValue = 100;
105
+ * health.value = 50;
106
+ * });
107
+ * ```
108
+ */
109
+ export function addAndConfigure(entity, component, configure) {
110
+ entity.addComponent(component);
111
+ configure(component);
112
+ return entity;
113
+ }
114
+ /**
115
+ * 获取或添加组件
116
+ *
117
+ * 如果组件已存在则返回现有组件,否则通过工厂函数创建并添加
118
+ *
119
+ * @param entity - 实体实例
120
+ * @param componentType - 组件类型构造函数
121
+ * @param factory - 组件工厂函数(仅在组件不存在时调用)
122
+ * @returns 组件实例
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const health = getOrAddComponent(entity, Health, () => new Health(100));
127
+ * ```
128
+ */
129
+ export function getOrAddComponent(entity, componentType, factory) {
130
+ let component = entity.getComponent(componentType);
131
+ if (!component) {
132
+ component = factory();
133
+ entity.addComponent(component);
134
+ }
135
+ return component;
136
+ }
137
+ /**
138
+ * 更新组件的部分字段
139
+ *
140
+ * @param entity - 实体实例
141
+ * @param componentType - 组件类型构造函数
142
+ * @param data - 要更新的部分数据
143
+ * @returns 如果更新成功返回true,组件不存在返回false
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * updateComponent(entity, Position, { x: 100 });
148
+ * ```
149
+ */
150
+ export function updateComponent(entity, componentType, data) {
151
+ const component = entity.getComponent(componentType);
152
+ if (!component) {
153
+ return false;
154
+ }
155
+ Object.assign(component, data);
156
+ return true;
157
+ }
158
+ /**
159
+ * 类型安全的实体构建器
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * const player = buildEntity(scene.createEntity("Player"))
164
+ * .with(new Position(100, 100))
165
+ * .with(new Velocity(0, 0))
166
+ * .withTag(1)
167
+ * .build();
168
+ * ```
169
+ */
170
+ export class TypedEntityBuilder {
171
+ constructor(entity) {
172
+ this._entity = entity;
173
+ }
174
+ /**
175
+ * 添加组件
176
+ */
177
+ with(component) {
178
+ this._entity.addComponent(component);
179
+ return this;
180
+ }
181
+ /**
182
+ * 添加并配置组件
183
+ */
184
+ withConfigured(component, configure) {
185
+ this._entity.addComponent(component);
186
+ configure(component);
187
+ return this;
188
+ }
189
+ /**
190
+ * 设置标签
191
+ */
192
+ withTag(tag) {
193
+ this._entity.tag = tag;
194
+ return this;
195
+ }
196
+ /**
197
+ * 设置名称
198
+ */
199
+ withName(name) {
200
+ this._entity.name = name;
201
+ return this;
202
+ }
203
+ /**
204
+ * 设置激活状态
205
+ */
206
+ withActive(active) {
207
+ this._entity.active = active;
208
+ return this;
209
+ }
210
+ /**
211
+ * 设置启用状态
212
+ */
213
+ withEnabled(enabled) {
214
+ this._entity.enabled = enabled;
215
+ return this;
216
+ }
217
+ /**
218
+ * 设置更新顺序
219
+ */
220
+ withUpdateOrder(order) {
221
+ this._entity.updateOrder = order;
222
+ return this;
223
+ }
224
+ /**
225
+ * 添加子实体
226
+ */
227
+ withChild(child) {
228
+ const hierarchySystem = this._entity.scene?.getSystem(HierarchySystem);
229
+ hierarchySystem?.setParent(child, this._entity);
230
+ return this;
231
+ }
232
+ /**
233
+ * 完成构建
234
+ */
235
+ build() {
236
+ return this._entity;
237
+ }
238
+ /**
239
+ * 获取正在构建的实体
240
+ */
241
+ get entity() {
242
+ return this._entity;
243
+ }
244
+ }
245
+ /**
246
+ * 创建类型安全的实体构建器
247
+ *
248
+ * @param entity - 要包装的实体
249
+ * @returns 实体构建器
250
+ */
251
+ export function buildEntity(entity) {
252
+ return new TypedEntityBuilder(entity);
253
+ }
254
+ //# sourceMappingURL=TypedEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypedEntity.js","sourceRoot":"","sources":["../../src/ECS/TypedEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * 位枚举
3
+ */
4
+ export declare enum SegmentPart {
5
+ LOW = 0,
6
+ HIGH = 1
7
+ }
8
+ /**
9
+ * 基础 64 位段结构
10
+ * [低32位,高32位]
11
+ */
12
+ export type BitMask64Segment = [number, number];
13
+ /**
14
+ * 位掩码数据结构
15
+ * 基础模式(64位):使用 base[lo , hi] 存储 64 位,segments 为空
16
+ * 扩展模式(128+位):base[lo , hi] 作为第一段,segments 存储额外的 64 位段
17
+ * segments[0] 对应 bit 64-127,segments[1] 对应 bit 128-191,以此类推
18
+ */
19
+ export interface BitMask64Data {
20
+ base: BitMask64Segment;
21
+ /** 扩展段数组,每个元素是一个 64 位段,用于超过 64 位的场景 */
22
+ segments?: BitMask64Segment[];
23
+ }
24
+ export declare class BitMask64Utils {
25
+ /** 零掩码常量,所有位都为0 */
26
+ static readonly ZERO: Readonly<BitMask64Data>;
27
+ /**
28
+ * 根据位索引创建64位掩码
29
+ * @param bitIndex 位索引,范围 [0, 63]
30
+ * @returns 包含指定位设置为1的掩码
31
+ * @throws 当位索引超出范围时抛出错误
32
+ */
33
+ static create(bitIndex: number): BitMask64Data;
34
+ /**
35
+ * 从32位数字创建64位掩码
36
+ * @param value 32位数字值
37
+ * @returns 低32位为输入值、高32位为0的掩码
38
+ */
39
+ static fromNumber(value: number): BitMask64Data;
40
+ /**
41
+ * 检查掩码是否包含任意指定的位
42
+ * @param mask 要检查的掩码
43
+ * @param bits 指定的位模式
44
+ * @returns 如果掩码包含bits中的任意位则返回true
45
+ */
46
+ static hasAny(mask: BitMask64Data, bits: BitMask64Data): boolean;
47
+ /**
48
+ * 检查掩码是否包含所有指定的位
49
+ * @param mask 要检查的掩码
50
+ * @param bits 指定的位模式
51
+ * @returns 如果掩码包含bits中的所有位则返回true
52
+ */
53
+ static hasAll(mask: BitMask64Data, bits: BitMask64Data): boolean;
54
+ /**
55
+ * 检查掩码是否不包含任何指定的位
56
+ * @param mask 要检查的掩码
57
+ * @param bits 指定的位模式
58
+ * @returns 如果掩码不包含bits中的任何位则返回true
59
+ */
60
+ static hasNone(mask: BitMask64Data, bits: BitMask64Data): boolean;
61
+ /**
62
+ * 检查掩码是否为零
63
+ * @param mask 要检查的掩码
64
+ * @returns 如果掩码所有位都为0则返回true
65
+ */
66
+ static isZero(mask: BitMask64Data): boolean;
67
+ /**
68
+ * 检查两个掩码是否相等
69
+ * @param a 第一个掩码
70
+ * @param b 第二个掩码
71
+ * @returns 如果两个掩码完全相等则返回true
72
+ */
73
+ static equals(a: BitMask64Data, b: BitMask64Data): boolean;
74
+ /**
75
+ * 设置掩码中指定位为1,必要时自动扩展
76
+ * @param mask 要修改的掩码(原地修改)
77
+ * @param bitIndex 位索引,不小于零
78
+ * @throws 当位索引超出范围时抛出错误
79
+ */
80
+ static setBit(mask: BitMask64Data, bitIndex: number): void;
81
+ /**
82
+ * 获取掩码中指定位,如果位超出当前掩码的区段长度,则直接返回0
83
+ * @param mask 掩码
84
+ * @param bitIndex 位索引,不小于零
85
+ */
86
+ static getBit(mask: BitMask64Data, bitIndex: number): boolean;
87
+ /**
88
+ * 清除掩码中指定位为0,如果位超出当前掩码的区段长度,则什么也不做
89
+ * @param mask 要修改的掩码(原地修改)
90
+ * @param bitIndex 位索引,不小于0
91
+ */
92
+ static clearBit(mask: BitMask64Data, bitIndex: number): void;
93
+ /**
94
+ * 对目标掩码执行按位或操作
95
+ * @param target 目标掩码(原地修改)
96
+ * @param other 用于按位或的掩码
97
+ */
98
+ static orInPlace(target: BitMask64Data, other: BitMask64Data): void;
99
+ /**
100
+ * 对目标掩码执行按位与操作
101
+ * @param target 目标掩码(原地修改)
102
+ * @param other 用于按位与的掩码
103
+ */
104
+ static andInPlace(target: BitMask64Data, other: BitMask64Data): void;
105
+ /**
106
+ * 对目标掩码执行按位异或操作
107
+ * @param target 目标掩码(原地修改)
108
+ * @param other 用于按位异或的掩码
109
+ */
110
+ static xorInPlace(target: BitMask64Data, other: BitMask64Data): void;
111
+ /**
112
+ * 清除掩码的所有位为0
113
+ * @param mask 要清除的掩码(原地修改)
114
+ */
115
+ static clear(mask: BitMask64Data): void;
116
+ /**
117
+ * 将源掩码的值复制到目标掩码,如果source包含扩展段,则target也会至少扩展到source扩展段的长度
118
+ * @param source 源掩码
119
+ * @param target 目标掩码(原地修改)
120
+ */
121
+ static copy(source: BitMask64Data, target: BitMask64Data): void;
122
+ /**
123
+ * 创建掩码的深拷贝
124
+ * @param mask 要拷贝的掩码
125
+ * @returns 新的掩码对象,内容与源掩码相同
126
+ */
127
+ static clone(mask: BitMask64Data): BitMask64Data;
128
+ /**
129
+ * 将掩码转换为字符串表示,每个区段之间将使用空格分割。
130
+ * @param mask 要转换的掩码
131
+ * @param radix 进制,支持2(二进制)或16(十六进制),默认为2,其他的值被视为2
132
+ * @param printHead 打印头
133
+ * @returns 掩码的字符串表示,二进制不带前缀,十六进制带0x前缀
134
+ */
135
+ static toString(mask: BitMask64Data, radix?: 2 | 16, printHead?: boolean): string;
136
+ /**
137
+ * 计算掩码中设置为1的位数
138
+ * @param mask 要计算的掩码
139
+ * @returns 掩码中1的位数
140
+ */
141
+ static popCount(mask: BitMask64Data): number;
142
+ /**
143
+ * 获取包含目标位的BitMask64Segment
144
+ * @param mask 要操作的掩码
145
+ * @param bitIndex 目标位
146
+ * @param createNewSegment 如果bitIndex超过了当前范围,是否自动补充扩展区域,默认为真
147
+ * @private
148
+ */
149
+ private static getSegmentByBitIndex;
150
+ }
151
+ //# sourceMappingURL=BigIntCompatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigIntCompatibility.d.ts","sourceRoot":"","sources":["../../../src/ECS/Utils/BigIntCompatibility.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACnB,GAAG,IAAI;IACP,IAAI,IAAI;CACX;AACD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAC,MAAM,CAAC,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,qBAAa,cAAc;IACvB,mBAAmB;IACnB,gBAAuB,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAoB;IAExE;;;;;OAKG;WACW,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IASrD;;;;OAIG;WACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAItD;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO;IAevE;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO;IAiCvE;;;;;OAKG;WACW,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO;IAgBxE;;;;OAIG;WACW,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAUlD;;;;;OAKG;WACW,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO;IAwBjE;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAajE;;;;OAIG;WACW,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAapE;;;;OAIG;WACW,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAcnE;;;;OAIG;WACW,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IA2B1E;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IA0B3E;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAwB3E;;;OAGG;WACW,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAY9C;;;;OAIG;WACW,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IA2BtE;;;;OAIG;WACW,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa;IAOvD;;;;;;OAMG;WACW,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,GAAE,CAAC,GAAG,EAAM,EAAE,SAAS,GAAE,OAAe,GAAG,MAAM;IAgDlG;;;;OAIG;WACW,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAkBnD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAsBtC"}