@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":"Scene.js","sourceRoot":"","sources":["../../src/ECS/Scene.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ import { IScene } from './IScene';
2
+ import { ECSFluentAPI } from './Core/FluentAPI';
3
+ import type { IService } from '../Core/ServiceContainer';
4
+ import { PerformanceMonitor } from '../Utils/PerformanceMonitor';
5
+ /**
6
+ * 单场景管理器
7
+ *
8
+ * 适用场景:
9
+ * - 单人游戏
10
+ * - 简单场景切换
11
+ * - 不需要多World隔离的项目
12
+ *
13
+ * 特点:
14
+ * - 轻量级,零额外开销
15
+ * - 简单直观的API
16
+ * - 支持延迟场景切换
17
+ * - 自动管理ECS API
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // 初始化Core
22
+ * Core.create({ debug: true });
23
+ *
24
+ * // 创建场景管理器
25
+ * const sceneManager = new SceneManager();
26
+ *
27
+ * // 设置场景
28
+ * class GameScene extends Scene {
29
+ * initialize() {
30
+ * const player = this.createEntity('Player');
31
+ * player.addComponent(new Transform(100, 100));
32
+ * }
33
+ * }
34
+ *
35
+ * sceneManager.setScene(new GameScene());
36
+ *
37
+ * // 游戏循环
38
+ * function gameLoop(deltaTime: number) {
39
+ * Core.update(deltaTime); // 更新全局服务
40
+ * sceneManager.update(); // 更新场景
41
+ * }
42
+ *
43
+ * // 延迟切换场景(下一帧生效)
44
+ * sceneManager.loadScene(new MenuScene());
45
+ * ```
46
+ */
47
+ export declare class SceneManager implements IService {
48
+ /**
49
+ * 内部默认World
50
+ */
51
+ private _defaultWorld;
52
+ /**
53
+ * 待切换的下一个场景(延迟切换用)
54
+ */
55
+ private _nextScene;
56
+ /**
57
+ * ECS流式API
58
+ */
59
+ private _ecsAPI;
60
+ /**
61
+ * 日志器
62
+ */
63
+ private _logger;
64
+ /**
65
+ * 场景切换回调函数
66
+ */
67
+ private _onSceneChangedCallback?;
68
+ /**
69
+ * 性能监控器(从 Core 注入)
70
+ */
71
+ private _performanceMonitor;
72
+ /**
73
+ * 待迁移的持久化实体
74
+ *
75
+ * Pending persistent entities for migration.
76
+ */
77
+ private _pendingPersistentEntities;
78
+ /**
79
+ * 默认场景ID
80
+ */
81
+ private static readonly DEFAULT_SCENE_ID;
82
+ constructor(performanceMonitor?: PerformanceMonitor);
83
+ /**
84
+ * 设置场景切换回调
85
+ *
86
+ * @param callback 场景切换时的回调函数
87
+ * @internal
88
+ */
89
+ setSceneChangedCallback(callback: () => void): void;
90
+ /**
91
+ * 设置当前场景(立即切换)
92
+ *
93
+ * 会自动处理旧场景的结束和新场景的初始化。
94
+ * 持久化实体会自动迁移到新场景。
95
+ *
96
+ * Set current scene (immediate transition).
97
+ * Automatically handles old scene cleanup and new scene initialization.
98
+ * Persistent entities are automatically migrated to the new scene.
99
+ *
100
+ * @param scene - 要设置的场景实例 | Scene instance to set
101
+ * @returns 返回设置的场景实例,便于链式调用 | Returns the scene for chaining
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const gameScene = sceneManager.setScene(new GameScene());
106
+ * console.log(gameScene.name);
107
+ * ```
108
+ */
109
+ setScene<T extends IScene>(scene: T): T;
110
+ /**
111
+ * 延迟加载场景(下一帧切换)
112
+ *
113
+ * 场景不会立即切换,而是在下一次调用 update() 时切换。
114
+ * 这对于避免在当前帧的中途切换场景很有用。
115
+ *
116
+ * @param scene - 要加载的场景实例
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * // 在某个System中触发场景切换
121
+ * class GameOverSystem extends EntitySystem {
122
+ * process(entities: readonly Entity[]) {
123
+ * if (playerHealth <= 0) {
124
+ * sceneManager.loadScene(new GameOverScene());
125
+ * // 当前帧继续执行,场景将在下一帧切换
126
+ * }
127
+ * }
128
+ * }
129
+ * ```
130
+ */
131
+ loadScene<T extends IScene>(scene: T): void;
132
+ /**
133
+ * 获取当前活跃的场景
134
+ *
135
+ * @returns 当前场景实例,如果没有场景则返回null
136
+ */
137
+ get currentScene(): IScene | null;
138
+ /**
139
+ * 获取ECS流式API
140
+ *
141
+ * 提供便捷的实体查询、事件发射等功能。
142
+ *
143
+ * @returns ECS API实例,如果当前没有场景则返回null
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const api = sceneManager.api;
148
+ * if (api) {
149
+ * // 查询所有敌人
150
+ * const enemies = api.find(Enemy, Transform);
151
+ *
152
+ * // 发射事件
153
+ * api.emit('game:start', { level: 1 });
154
+ * }
155
+ * ```
156
+ */
157
+ get api(): ECSFluentAPI | null;
158
+ /**
159
+ * 更新场景
160
+ *
161
+ * 应该在每帧的游戏循环中调用。
162
+ * 会自动处理延迟场景切换。
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * function gameLoop(deltaTime: number) {
167
+ * Core.update(deltaTime);
168
+ * sceneManager.update(); // 每帧调用
169
+ * }
170
+ * ```
171
+ */
172
+ update(): void;
173
+ /**
174
+ * 销毁场景管理器
175
+ *
176
+ * 会自动结束当前场景并清理所有资源。
177
+ * 通常在应用程序关闭时调用。
178
+ */
179
+ destroy(): void;
180
+ /**
181
+ * 检查是否有活跃场景
182
+ *
183
+ * @returns 如果有活跃场景返回true,否则返回false
184
+ */
185
+ get hasScene(): boolean;
186
+ /**
187
+ * 检查是否有待切换的场景
188
+ *
189
+ * @returns 如果有待切换场景返回true,否则返回false
190
+ */
191
+ get hasPendingScene(): boolean;
192
+ /**
193
+ * 释放资源(IService接口)
194
+ */
195
+ dispose(): void;
196
+ }
197
+ //# sourceMappingURL=SceneManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneManager.d.ts","sourceRoot":"","sources":["../../src/ECS/SceneManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,YAAa,YAAW,QAAQ;IACzC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAQ;IAE7B;;OAEG;IACH,OAAO,CAAC,UAAU,CAAuB;IAEzC;;OAEG;IACH,OAAO,CAAC,OAAO,CAA6B;IAE5C;;OAEG;IACH,OAAO,CAAC,OAAO,CAAgC;IAE/C;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAE7C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAmC;IAE9D;;;;OAIG;IACH,OAAO,CAAC,0BAA0B,CAAgB;IAElD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAc;gBAE1C,kBAAkB,CAAC,EAAE,kBAAkB;IAMnD;;;;;OAKG;IACI,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI1D;;;;;;;;;;;;;;;;;;OAkBG;IACI,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAqD9C;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAKlD;;;;OAIG;IACH,IAAW,YAAY,IAAI,MAAM,GAAG,IAAI,CAEvC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAW,GAAG,IAAI,YAAY,GAAG,IAAI,CAEpC;IAED;;;;;;;;;;;;;OAaG;IACI,MAAM,IAAI,IAAI;IAYrB;;;;;OAKG;IACI,OAAO,IAAI,IAAI;IAUtB;;;;OAIG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;;;OAIG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;OAEG;IACI,OAAO,IAAI,IAAI;CAGzB"}
@@ -0,0 +1,264 @@
1
+ import { Scene } from './Scene';
2
+ import { createECSAPI } from './Core/FluentAPI';
3
+ import { Time } from '../Utils/Time';
4
+ import { createLogger } from '../Utils/Logger';
5
+ import { World } from './World';
6
+ import { PerformanceMonitor } from '../Utils/PerformanceMonitor';
7
+ /**
8
+ * 单场景管理器
9
+ *
10
+ * 适用场景:
11
+ * - 单人游戏
12
+ * - 简单场景切换
13
+ * - 不需要多World隔离的项目
14
+ *
15
+ * 特点:
16
+ * - 轻量级,零额外开销
17
+ * - 简单直观的API
18
+ * - 支持延迟场景切换
19
+ * - 自动管理ECS API
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // 初始化Core
24
+ * Core.create({ debug: true });
25
+ *
26
+ * // 创建场景管理器
27
+ * const sceneManager = new SceneManager();
28
+ *
29
+ * // 设置场景
30
+ * class GameScene extends Scene {
31
+ * initialize() {
32
+ * const player = this.createEntity('Player');
33
+ * player.addComponent(new Transform(100, 100));
34
+ * }
35
+ * }
36
+ *
37
+ * sceneManager.setScene(new GameScene());
38
+ *
39
+ * // 游戏循环
40
+ * function gameLoop(deltaTime: number) {
41
+ * Core.update(deltaTime); // 更新全局服务
42
+ * sceneManager.update(); // 更新场景
43
+ * }
44
+ *
45
+ * // 延迟切换场景(下一帧生效)
46
+ * sceneManager.loadScene(new MenuScene());
47
+ * ```
48
+ */
49
+ export class SceneManager {
50
+ constructor(performanceMonitor) {
51
+ /**
52
+ * 待切换的下一个场景(延迟切换用)
53
+ */
54
+ this._nextScene = null;
55
+ /**
56
+ * ECS流式API
57
+ */
58
+ this._ecsAPI = null;
59
+ /**
60
+ * 日志器
61
+ */
62
+ this._logger = createLogger('SceneManager');
63
+ /**
64
+ * 性能监控器(从 Core 注入)
65
+ */
66
+ this._performanceMonitor = null;
67
+ /**
68
+ * 待迁移的持久化实体
69
+ *
70
+ * Pending persistent entities for migration.
71
+ */
72
+ this._pendingPersistentEntities = [];
73
+ this._defaultWorld = new World({ name: '__default__' });
74
+ this._defaultWorld.start();
75
+ this._performanceMonitor = performanceMonitor || null;
76
+ }
77
+ /**
78
+ * 设置场景切换回调
79
+ *
80
+ * @param callback 场景切换时的回调函数
81
+ * @internal
82
+ */
83
+ setSceneChangedCallback(callback) {
84
+ this._onSceneChangedCallback = callback;
85
+ }
86
+ /**
87
+ * 设置当前场景(立即切换)
88
+ *
89
+ * 会自动处理旧场景的结束和新场景的初始化。
90
+ * 持久化实体会自动迁移到新场景。
91
+ *
92
+ * Set current scene (immediate transition).
93
+ * Automatically handles old scene cleanup and new scene initialization.
94
+ * Persistent entities are automatically migrated to the new scene.
95
+ *
96
+ * @param scene - 要设置的场景实例 | Scene instance to set
97
+ * @returns 返回设置的场景实例,便于链式调用 | Returns the scene for chaining
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * const gameScene = sceneManager.setScene(new GameScene());
102
+ * console.log(gameScene.name);
103
+ * ```
104
+ */
105
+ setScene(scene) {
106
+ // 从当前场景提取持久化实体
107
+ const currentScene = this.currentScene;
108
+ if (currentScene && currentScene instanceof Scene) {
109
+ this._pendingPersistentEntities = currentScene.extractPersistentEntities();
110
+ if (this._pendingPersistentEntities.length > 0) {
111
+ this._logger.debug(`Extracted ${this._pendingPersistentEntities.length} persistent entities for migration`);
112
+ }
113
+ }
114
+ // 移除旧场景
115
+ this._defaultWorld.removeAllScenes();
116
+ // 注册全局 PerformanceMonitor 到 Scene 的 ServiceContainer
117
+ if (this._performanceMonitor) {
118
+ scene.services.registerInstance(PerformanceMonitor, this._performanceMonitor);
119
+ }
120
+ // 通过 World 创建新场景
121
+ this._defaultWorld.createScene(SceneManager.DEFAULT_SCENE_ID, scene);
122
+ this._defaultWorld.setSceneActive(SceneManager.DEFAULT_SCENE_ID, true);
123
+ // 迁移持久化实体到新场景
124
+ if (this._pendingPersistentEntities.length > 0 && scene instanceof Scene) {
125
+ scene.receiveMigratedEntities(this._pendingPersistentEntities);
126
+ this._logger.debug(`Migrated ${this._pendingPersistentEntities.length} persistent entities to new scene`);
127
+ this._pendingPersistentEntities = [];
128
+ }
129
+ // 重建ECS API
130
+ if (scene.querySystem && scene.eventSystem) {
131
+ this._ecsAPI = createECSAPI(scene, scene.querySystem, scene.eventSystem);
132
+ }
133
+ else {
134
+ this._ecsAPI = null;
135
+ }
136
+ // 触发场景切换回调
137
+ Time.sceneChanged();
138
+ // 通知调试管理器(通过回调)
139
+ if (this._onSceneChangedCallback) {
140
+ this._onSceneChangedCallback();
141
+ }
142
+ this._logger.info(`Scene changed to: ${scene.name}`);
143
+ return scene;
144
+ }
145
+ /**
146
+ * 延迟加载场景(下一帧切换)
147
+ *
148
+ * 场景不会立即切换,而是在下一次调用 update() 时切换。
149
+ * 这对于避免在当前帧的中途切换场景很有用。
150
+ *
151
+ * @param scene - 要加载的场景实例
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * // 在某个System中触发场景切换
156
+ * class GameOverSystem extends EntitySystem {
157
+ * process(entities: readonly Entity[]) {
158
+ * if (playerHealth <= 0) {
159
+ * sceneManager.loadScene(new GameOverScene());
160
+ * // 当前帧继续执行,场景将在下一帧切换
161
+ * }
162
+ * }
163
+ * }
164
+ * ```
165
+ */
166
+ loadScene(scene) {
167
+ this._nextScene = scene;
168
+ this._logger.info(`Scheduled scene load: ${scene.name}`);
169
+ }
170
+ /**
171
+ * 获取当前活跃的场景
172
+ *
173
+ * @returns 当前场景实例,如果没有场景则返回null
174
+ */
175
+ get currentScene() {
176
+ return this._defaultWorld.getScene(SceneManager.DEFAULT_SCENE_ID);
177
+ }
178
+ /**
179
+ * 获取ECS流式API
180
+ *
181
+ * 提供便捷的实体查询、事件发射等功能。
182
+ *
183
+ * @returns ECS API实例,如果当前没有场景则返回null
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * const api = sceneManager.api;
188
+ * if (api) {
189
+ * // 查询所有敌人
190
+ * const enemies = api.find(Enemy, Transform);
191
+ *
192
+ * // 发射事件
193
+ * api.emit('game:start', { level: 1 });
194
+ * }
195
+ * ```
196
+ */
197
+ get api() {
198
+ return this._ecsAPI;
199
+ }
200
+ /**
201
+ * 更新场景
202
+ *
203
+ * 应该在每帧的游戏循环中调用。
204
+ * 会自动处理延迟场景切换。
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * function gameLoop(deltaTime: number) {
209
+ * Core.update(deltaTime);
210
+ * sceneManager.update(); // 每帧调用
211
+ * }
212
+ * ```
213
+ */
214
+ update() {
215
+ // 处理延迟场景切换
216
+ if (this._nextScene) {
217
+ this.setScene(this._nextScene);
218
+ this._nextScene = null;
219
+ }
220
+ // 通过 World 统一更新
221
+ this._defaultWorld.updateGlobalSystems();
222
+ this._defaultWorld.updateScenes();
223
+ }
224
+ /**
225
+ * 销毁场景管理器
226
+ *
227
+ * 会自动结束当前场景并清理所有资源。
228
+ * 通常在应用程序关闭时调用。
229
+ */
230
+ destroy() {
231
+ this._logger.info('SceneManager destroying');
232
+ this._defaultWorld.destroy();
233
+ this._nextScene = null;
234
+ this._ecsAPI = null;
235
+ this._logger.info('SceneManager destroyed');
236
+ }
237
+ /**
238
+ * 检查是否有活跃场景
239
+ *
240
+ * @returns 如果有活跃场景返回true,否则返回false
241
+ */
242
+ get hasScene() {
243
+ return this._defaultWorld.getScene(SceneManager.DEFAULT_SCENE_ID) !== null;
244
+ }
245
+ /**
246
+ * 检查是否有待切换的场景
247
+ *
248
+ * @returns 如果有待切换场景返回true,否则返回false
249
+ */
250
+ get hasPendingScene() {
251
+ return this._nextScene !== null;
252
+ }
253
+ /**
254
+ * 释放资源(IService接口)
255
+ */
256
+ dispose() {
257
+ this.destroy();
258
+ }
259
+ }
260
+ /**
261
+ * 默认场景ID
262
+ */
263
+ SceneManager.DEFAULT_SCENE_ID = '__main__';
264
+ //# sourceMappingURL=SceneManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneManager.js","sourceRoot":"","sources":["../../src/ECS/SceneManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * 组件序列化器
3
+ *
4
+ * 负责组件的序列化和反序列化操作
5
+ */
6
+ import { Component } from '../Component';
7
+ import { ComponentType } from '../Core/ComponentStorage';
8
+ /**
9
+ * 可序列化的值类型
10
+ */
11
+ export type SerializableValue = string | number | boolean | null | undefined | SerializableValue[] | {
12
+ [key: string]: SerializableValue;
13
+ } | {
14
+ __type: 'Date';
15
+ value: string;
16
+ } | {
17
+ __type: 'Map';
18
+ value: Array<[SerializableValue, SerializableValue]>;
19
+ } | {
20
+ __type: 'Set';
21
+ value: SerializableValue[];
22
+ };
23
+ /**
24
+ * 序列化后的组件数据
25
+ */
26
+ export interface SerializedComponent {
27
+ /**
28
+ * 组件类型名称
29
+ */
30
+ type: string;
31
+ /**
32
+ * 序列化版本
33
+ */
34
+ version: number;
35
+ /**
36
+ * 组件数据
37
+ */
38
+ data: Record<string, SerializableValue>;
39
+ }
40
+ /**
41
+ * 组件序列化器类
42
+ */
43
+ export declare class ComponentSerializer {
44
+ /**
45
+ * 序列化单个组件
46
+ *
47
+ * @param component 要序列化的组件实例
48
+ * @returns 序列化后的组件数据,如果组件不可序列化则返回null
49
+ */
50
+ static serialize(component: Component): SerializedComponent | null;
51
+ /**
52
+ * 反序列化组件
53
+ *
54
+ * @param serializedData 序列化的组件数据
55
+ * @param componentRegistry 组件类型注册表 (类型名 -> 构造函数)
56
+ * @returns 反序列化后的组件实例,如果失败则返回null
57
+ */
58
+ static deserialize(serializedData: SerializedComponent, componentRegistry: Map<string, ComponentType>): Component | null;
59
+ /**
60
+ * 批量序列化组件
61
+ *
62
+ * @param components 组件数组
63
+ * @returns 序列化后的组件数据数组
64
+ */
65
+ static serializeComponents(components: Component[]): SerializedComponent[];
66
+ /**
67
+ * 批量反序列化组件
68
+ *
69
+ * @param serializedComponents 序列化的组件数据数组
70
+ * @param componentRegistry 组件类型注册表
71
+ * @returns 反序列化后的组件数组
72
+ */
73
+ static deserializeComponents(serializedComponents: SerializedComponent[], componentRegistry: Map<string, ComponentType>): Component[];
74
+ /**
75
+ * 默认值序列化
76
+ *
77
+ * 处理基本类型、数组、对象等的序列化
78
+ */
79
+ private static serializeValue;
80
+ /**
81
+ * 默认值反序列化
82
+ */
83
+ private static deserializeValue;
84
+ /**
85
+ * 验证序列化数据的版本
86
+ *
87
+ * @param serializedData 序列化数据
88
+ * @param expectedVersion 期望的版本号
89
+ * @returns 版本是否匹配
90
+ */
91
+ static validateVersion(serializedData: SerializedComponent, expectedVersion: number): boolean;
92
+ /**
93
+ * 获取组件的序列化信息
94
+ *
95
+ * @param component 组件实例或组件类
96
+ * @returns 序列化信息对象,包含类型名、版本、可序列化字段列表
97
+ */
98
+ static getSerializationInfo(component: Component | ComponentType): {
99
+ type: string;
100
+ version: number;
101
+ fields: string[];
102
+ ignoredFields: string[];
103
+ isSerializable: boolean;
104
+ } | null;
105
+ }
106
+ //# sourceMappingURL=ComponentSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentSerializer.d.ts","sourceRoot":"","sources":["../../../src/ECS/Serialization/ComponentSerializer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACvB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,iBAAiB,EAAE,GACnB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAA;CAAE,GACvE;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC5B;;;;;OAKG;WACW,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,mBAAmB,GAAG,IAAI;IAuCzE;;;;;;OAMG;WACW,WAAW,CACrB,cAAc,EAAE,mBAAmB,EACnC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC9C,SAAS,GAAG,IAAI;IAuCnB;;;;;OAKG;WACW,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,mBAAmB,EAAE;IAajF;;;;;;OAMG;WACW,qBAAqB,CAC/B,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC9C,SAAS,EAAE;IAad;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAwD7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4C/B;;;;;;OAMG;WACW,eAAe,CACzB,cAAc,EAAE,mBAAmB,EACnC,eAAe,EAAE,MAAM,GACxB,OAAO;IAIV;;;;;OAKG;WACW,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG;QACtE,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;KAC3B,GAAG,IAAI;CA6BX"}