@esengine/ecs-framework 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.ts +13451 -0
  4. package/dist/index.es5.js +4 -0
  5. package/dist/index.es5.js.map +1 -0
  6. package/dist/index.mjs +2 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/index.umd.js +4 -0
  9. package/dist/index.umd.js.map +1 -0
  10. package/dist/package.json +47 -0
  11. package/package.json +87 -84
  12. package/bin/Core/DI/Decorators.d.ts +0 -206
  13. package/bin/Core/DI/Decorators.d.ts.map +0 -1
  14. package/bin/Core/DI/Decorators.js +0 -253
  15. package/bin/Core/DI/Decorators.js.map +0 -1
  16. package/bin/Core/DI/index.d.ts +0 -8
  17. package/bin/Core/DI/index.d.ts.map +0 -1
  18. package/bin/Core/DI/index.js +0 -7
  19. package/bin/Core/DI/index.js.map +0 -1
  20. package/bin/Core/Plugin.d.ts +0 -112
  21. package/bin/Core/Plugin.d.ts.map +0 -1
  22. package/bin/Core/Plugin.js +0 -19
  23. package/bin/Core/Plugin.js.map +0 -1
  24. package/bin/Core/PluginManager.d.ts +0 -118
  25. package/bin/Core/PluginManager.d.ts.map +0 -1
  26. package/bin/Core/PluginManager.js +0 -229
  27. package/bin/Core/PluginManager.js.map +0 -1
  28. package/bin/Core/ServiceContainer.d.ts +0 -221
  29. package/bin/Core/ServiceContainer.d.ts.map +0 -1
  30. package/bin/Core/ServiceContainer.js +0 -352
  31. package/bin/Core/ServiceContainer.js.map +0 -1
  32. package/bin/Core.d.ts +0 -379
  33. package/bin/Core.d.ts.map +0 -1
  34. package/bin/Core.js +0 -553
  35. package/bin/Core.js.map +0 -1
  36. package/bin/ECS/Component.d.ts +0 -104
  37. package/bin/ECS/Component.d.ts.map +0 -1
  38. package/bin/ECS/Component.js +0 -105
  39. package/bin/ECS/Component.js.map +0 -1
  40. package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
  41. package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
  42. package/bin/ECS/Components/HierarchyComponent.js +0 -65
  43. package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
  44. package/bin/ECS/Components/index.d.ts +0 -2
  45. package/bin/ECS/Components/index.d.ts.map +0 -1
  46. package/bin/ECS/Components/index.js +0 -2
  47. package/bin/ECS/Components/index.js.map +0 -1
  48. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
  49. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  50. package/bin/ECS/Core/ArchetypeSystem.js +0 -244
  51. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  52. package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
  53. package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
  54. package/bin/ECS/Core/CommandBuffer.js +0 -244
  55. package/bin/ECS/Core/CommandBuffer.js.map +0 -1
  56. package/bin/ECS/Core/ComponentPool.d.ts +0 -139
  57. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  58. package/bin/ECS/Core/ComponentPool.js +0 -276
  59. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  60. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
  61. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  62. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
  63. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  64. package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
  65. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  66. package/bin/ECS/Core/ComponentStorage.js +0 -321
  67. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  68. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
  69. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
  70. package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
  71. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
  72. package/bin/ECS/Core/EventBus.d.ts +0 -210
  73. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  74. package/bin/ECS/Core/EventBus.js +0 -370
  75. package/bin/ECS/Core/EventBus.js.map +0 -1
  76. package/bin/ECS/Core/EventSystem.d.ts +0 -225
  77. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  78. package/bin/ECS/Core/EventSystem.js +0 -448
  79. package/bin/ECS/Core/EventSystem.js.map +0 -1
  80. package/bin/ECS/Core/Events/index.d.ts +0 -3
  81. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  82. package/bin/ECS/Core/Events/index.js +0 -3
  83. package/bin/ECS/Core/Events/index.js.map +0 -1
  84. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  85. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  86. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  87. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  88. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  89. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  90. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  91. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  92. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  93. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  94. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  95. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  96. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  97. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  98. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
  99. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  100. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  101. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  102. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  103. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  104. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  105. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  106. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  107. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  108. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  109. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  110. package/bin/ECS/Core/FluentAPI.js +0 -3
  111. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  112. package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
  113. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
  114. package/bin/ECS/Core/Query/TypedQuery.js +0 -294
  115. package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
  116. package/bin/ECS/Core/Query/index.d.ts +0 -3
  117. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  118. package/bin/ECS/Core/Query/index.js +0 -3
  119. package/bin/ECS/Core/Query/index.js.map +0 -1
  120. package/bin/ECS/Core/QuerySystem.d.ts +0 -458
  121. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  122. package/bin/ECS/Core/QuerySystem.js +0 -1069
  123. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  124. package/bin/ECS/Core/QueryTypes.d.ts +0 -34
  125. package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
  126. package/bin/ECS/Core/QueryTypes.js +0 -13
  127. package/bin/ECS/Core/QueryTypes.js.map +0 -1
  128. package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
  129. package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
  130. package/bin/ECS/Core/ReactiveQuery.js +0 -401
  131. package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
  132. package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
  133. package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
  134. package/bin/ECS/Core/ReferenceTracker.js +0 -254
  135. package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
  136. package/bin/ECS/Core/SoASerializer.d.ts +0 -28
  137. package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
  138. package/bin/ECS/Core/SoASerializer.js +0 -85
  139. package/bin/ECS/Core/SoASerializer.js.map +0 -1
  140. package/bin/ECS/Core/SoAStorage.d.ts +0 -129
  141. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  142. package/bin/ECS/Core/SoAStorage.js +0 -685
  143. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  144. package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
  145. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
  146. package/bin/ECS/Core/SoATypeRegistry.js +0 -135
  147. package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
  148. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  149. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  150. package/bin/ECS/Core/Storage/index.js +0 -4
  151. package/bin/ECS/Core/Storage/index.js.map +0 -1
  152. package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
  153. package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
  154. package/bin/ECS/Core/StorageDecorators.js +0 -27
  155. package/bin/ECS/Core/StorageDecorators.js.map +0 -1
  156. package/bin/ECS/CoreEvents.d.ts +0 -131
  157. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  158. package/bin/ECS/CoreEvents.js +0 -163
  159. package/bin/ECS/CoreEvents.js.map +0 -1
  160. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
  161. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
  162. package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
  163. package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
  164. package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
  165. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
  166. package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
  167. package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
  168. package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
  169. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
  170. package/bin/ECS/Decorators/TypeDecorators.js +0 -151
  171. package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
  172. package/bin/ECS/Decorators/index.d.ts +0 -7
  173. package/bin/ECS/Decorators/index.d.ts.map +0 -1
  174. package/bin/ECS/Decorators/index.js +0 -4
  175. package/bin/ECS/Decorators/index.js.map +0 -1
  176. package/bin/ECS/Entity.d.ts +0 -415
  177. package/bin/ECS/Entity.d.ts.map +0 -1
  178. package/bin/ECS/Entity.js +0 -683
  179. package/bin/ECS/Entity.js.map +0 -1
  180. package/bin/ECS/EntityTags.d.ts +0 -71
  181. package/bin/ECS/EntityTags.d.ts.map +0 -1
  182. package/bin/ECS/EntityTags.js +0 -82
  183. package/bin/ECS/EntityTags.js.map +0 -1
  184. package/bin/ECS/IScene.d.ts +0 -308
  185. package/bin/ECS/IScene.d.ts.map +0 -1
  186. package/bin/ECS/IScene.js +0 -2
  187. package/bin/ECS/IScene.js.map +0 -1
  188. package/bin/ECS/Scene.d.ts +0 -799
  189. package/bin/ECS/Scene.d.ts.map +0 -1
  190. package/bin/ECS/Scene.js +0 -1203
  191. package/bin/ECS/Scene.js.map +0 -1
  192. package/bin/ECS/SceneManager.d.ts +0 -197
  193. package/bin/ECS/SceneManager.d.ts.map +0 -1
  194. package/bin/ECS/SceneManager.js +0 -264
  195. package/bin/ECS/SceneManager.js.map +0 -1
  196. package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
  197. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
  198. package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
  199. package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
  200. package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
  201. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
  202. package/bin/ECS/Serialization/EntitySerializer.js +0 -155
  203. package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
  204. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
  205. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
  206. package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
  207. package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
  208. package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
  209. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
  210. package/bin/ECS/Serialization/SceneSerializer.js +0 -387
  211. package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
  212. package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
  213. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
  214. package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
  215. package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
  216. package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
  217. package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
  218. package/bin/ECS/Serialization/VersionMigration.js +0 -279
  219. package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
  220. package/bin/ECS/Serialization/index.d.ts +0 -18
  221. package/bin/ECS/Serialization/index.d.ts.map +0 -1
  222. package/bin/ECS/Serialization/index.js +0 -18
  223. package/bin/ECS/Serialization/index.js.map +0 -1
  224. package/bin/ECS/Systems/EntityCache.d.ts +0 -114
  225. package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
  226. package/bin/ECS/Systems/EntityCache.js +0 -145
  227. package/bin/ECS/Systems/EntityCache.js.map +0 -1
  228. package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
  229. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  230. package/bin/ECS/Systems/EntitySystem.js +0 -1102
  231. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  232. package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
  233. package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
  234. package/bin/ECS/Systems/HierarchySystem.js +0 -498
  235. package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
  236. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  237. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  238. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  239. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  240. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  241. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  242. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  243. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  244. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  245. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  246. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  247. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  248. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
  249. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
  250. package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
  251. package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
  252. package/bin/ECS/Systems/index.d.ts +0 -8
  253. package/bin/ECS/Systems/index.d.ts.map +0 -1
  254. package/bin/ECS/Systems/index.js +0 -8
  255. package/bin/ECS/Systems/index.js.map +0 -1
  256. package/bin/ECS/TypedEntity.d.ts +0 -192
  257. package/bin/ECS/TypedEntity.d.ts.map +0 -1
  258. package/bin/ECS/TypedEntity.js +0 -254
  259. package/bin/ECS/TypedEntity.js.map +0 -1
  260. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
  261. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  262. package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
  263. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  264. package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
  265. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
  266. package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
  267. package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
  268. package/bin/ECS/Utils/Bits.d.ts +0 -154
  269. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  270. package/bin/ECS/Utils/Bits.js +0 -331
  271. package/bin/ECS/Utils/Bits.js.map +0 -1
  272. package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
  273. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
  274. package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
  275. package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
  276. package/bin/ECS/Utils/EntityList.d.ts +0 -115
  277. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  278. package/bin/ECS/Utils/EntityList.js +0 -258
  279. package/bin/ECS/Utils/EntityList.js.map +0 -1
  280. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  281. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  282. package/bin/ECS/Utils/EntityProcessorList.js +0 -113
  283. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  284. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  285. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  286. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  287. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  288. package/bin/ECS/Utils/Matcher.d.ts +0 -171
  289. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  290. package/bin/ECS/Utils/Matcher.js +0 -293
  291. package/bin/ECS/Utils/Matcher.js.map +0 -1
  292. package/bin/ECS/Utils/SparseSet.d.ts +0 -170
  293. package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
  294. package/bin/ECS/Utils/SparseSet.js +0 -280
  295. package/bin/ECS/Utils/SparseSet.js.map +0 -1
  296. package/bin/ECS/Utils/index.d.ts +0 -9
  297. package/bin/ECS/Utils/index.d.ts.map +0 -1
  298. package/bin/ECS/Utils/index.js +0 -10
  299. package/bin/ECS/Utils/index.js.map +0 -1
  300. package/bin/ECS/World.d.ts +0 -238
  301. package/bin/ECS/World.d.ts.map +0 -1
  302. package/bin/ECS/World.js +0 -416
  303. package/bin/ECS/World.js.map +0 -1
  304. package/bin/ECS/WorldManager.d.ts +0 -224
  305. package/bin/ECS/WorldManager.d.ts.map +0 -1
  306. package/bin/ECS/WorldManager.js +0 -365
  307. package/bin/ECS/WorldManager.js.map +0 -1
  308. package/bin/ECS/index.d.ts +0 -26
  309. package/bin/ECS/index.d.ts.map +0 -1
  310. package/bin/ECS/index.js +0 -21
  311. package/bin/ECS/index.js.map +0 -1
  312. package/bin/Platform/IPlatformAdapter.d.ts +0 -169
  313. package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
  314. package/bin/Platform/IPlatformAdapter.js +0 -2
  315. package/bin/Platform/IPlatformAdapter.js.map +0 -1
  316. package/bin/Platform/PlatformDetector.d.ts +0 -56
  317. package/bin/Platform/PlatformDetector.d.ts.map +0 -1
  318. package/bin/Platform/PlatformDetector.js +0 -247
  319. package/bin/Platform/PlatformDetector.js.map +0 -1
  320. package/bin/Platform/PlatformManager.d.ts +0 -50
  321. package/bin/Platform/PlatformManager.d.ts.map +0 -1
  322. package/bin/Platform/PlatformManager.js +0 -114
  323. package/bin/Platform/PlatformManager.js.map +0 -1
  324. package/bin/Platform/index.d.ts +0 -19
  325. package/bin/Platform/index.d.ts.map +0 -1
  326. package/bin/Platform/index.js +0 -29
  327. package/bin/Platform/index.js.map +0 -1
  328. package/bin/Plugins/DebugPlugin.d.ts +0 -156
  329. package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
  330. package/bin/Plugins/DebugPlugin.js +0 -248
  331. package/bin/Plugins/DebugPlugin.js.map +0 -1
  332. package/bin/Plugins/index.d.ts +0 -2
  333. package/bin/Plugins/index.d.ts.map +0 -1
  334. package/bin/Plugins/index.js +0 -2
  335. package/bin/Plugins/index.js.map +0 -1
  336. package/bin/Types/IUpdatable.d.ts +0 -18
  337. package/bin/Types/IUpdatable.d.ts.map +0 -1
  338. package/bin/Types/IUpdatable.js +0 -7
  339. package/bin/Types/IUpdatable.js.map +0 -1
  340. package/bin/Types/TypeHelpers.d.ts +0 -238
  341. package/bin/Types/TypeHelpers.d.ts.map +0 -1
  342. package/bin/Types/TypeHelpers.js +0 -19
  343. package/bin/Types/TypeHelpers.js.map +0 -1
  344. package/bin/Types/index.d.ts +0 -466
  345. package/bin/Types/index.d.ts.map +0 -1
  346. package/bin/Types/index.js +0 -7
  347. package/bin/Types/index.js.map +0 -1
  348. package/bin/Utils/BinarySerializer.d.ts +0 -23
  349. package/bin/Utils/BinarySerializer.d.ts.map +0 -1
  350. package/bin/Utils/BinarySerializer.js +0 -100
  351. package/bin/Utils/BinarySerializer.js.map +0 -1
  352. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
  353. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
  354. package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
  355. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
  356. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
  357. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  358. package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
  359. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  360. package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
  361. package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
  362. package/bin/Utils/Debug/DebugConfigService.js +0 -42
  363. package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
  364. package/bin/Utils/Debug/DebugManager.d.ts +0 -131
  365. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  366. package/bin/Utils/Debug/DebugManager.js +0 -848
  367. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  368. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
  369. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  370. package/bin/Utils/Debug/EntityDataCollector.js +0 -870
  371. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  372. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
  373. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  374. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
  375. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  376. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
  377. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  378. package/bin/Utils/Debug/SceneDataCollector.js +0 -43
  379. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  380. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
  381. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  382. package/bin/Utils/Debug/SystemDataCollector.js +0 -60
  383. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  384. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
  385. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  386. package/bin/Utils/Debug/WebSocketManager.js +0 -141
  387. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  388. package/bin/Utils/Debug/index.d.ts +0 -11
  389. package/bin/Utils/Debug/index.d.ts.map +0 -1
  390. package/bin/Utils/Debug/index.js +0 -10
  391. package/bin/Utils/Debug/index.js.map +0 -1
  392. package/bin/Utils/Emitter.d.ts +0 -61
  393. package/bin/Utils/Emitter.d.ts.map +0 -1
  394. package/bin/Utils/Emitter.js +0 -101
  395. package/bin/Utils/Emitter.js.map +0 -1
  396. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  397. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  398. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  399. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  400. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  401. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  402. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  403. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  404. package/bin/Utils/Extensions/index.d.ts +0 -3
  405. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  406. package/bin/Utils/Extensions/index.js +0 -4
  407. package/bin/Utils/Extensions/index.js.map +0 -1
  408. package/bin/Utils/GlobalManager.d.ts +0 -29
  409. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  410. package/bin/Utils/GlobalManager.js +0 -50
  411. package/bin/Utils/GlobalManager.js.map +0 -1
  412. package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
  413. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
  414. package/bin/Utils/Logger/ConsoleLogger.js +0 -187
  415. package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
  416. package/bin/Utils/Logger/Constants.d.ts +0 -36
  417. package/bin/Utils/Logger/Constants.d.ts.map +0 -1
  418. package/bin/Utils/Logger/Constants.js +0 -40
  419. package/bin/Utils/Logger/Constants.js.map +0 -1
  420. package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
  421. package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
  422. package/bin/Utils/Logger/LoggerManager.js +0 -167
  423. package/bin/Utils/Logger/LoggerManager.js.map +0 -1
  424. package/bin/Utils/Logger/Types.d.ts +0 -40
  425. package/bin/Utils/Logger/Types.d.ts.map +0 -1
  426. package/bin/Utils/Logger/Types.js +0 -2
  427. package/bin/Utils/Logger/Types.js.map +0 -1
  428. package/bin/Utils/Logger/index.d.ts +0 -5
  429. package/bin/Utils/Logger/index.d.ts.map +0 -1
  430. package/bin/Utils/Logger/index.js +0 -5
  431. package/bin/Utils/Logger/index.js.map +0 -1
  432. package/bin/Utils/PerformanceMonitor.d.ts +0 -196
  433. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  434. package/bin/Utils/PerformanceMonitor.js +0 -244
  435. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  436. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  437. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  438. package/bin/Utils/Pool/IPoolable.js +0 -2
  439. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  440. package/bin/Utils/Pool/Pool.d.ts +0 -109
  441. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  442. package/bin/Utils/Pool/Pool.js +0 -238
  443. package/bin/Utils/Pool/Pool.js.map +0 -1
  444. package/bin/Utils/Pool/PoolManager.d.ts +0 -96
  445. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  446. package/bin/Utils/Pool/PoolManager.js +0 -199
  447. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  448. package/bin/Utils/Pool/index.d.ts +0 -4
  449. package/bin/Utils/Pool/index.d.ts.map +0 -1
  450. package/bin/Utils/Pool/index.js +0 -4
  451. package/bin/Utils/Pool/index.js.map +0 -1
  452. package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
  453. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
  454. package/bin/Utils/Profiler/AutoProfiler.js +0 -503
  455. package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
  456. package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
  457. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
  458. package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
  459. package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
  460. package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
  461. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
  462. package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
  463. package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
  464. package/bin/Utils/Profiler/index.d.ts +0 -8
  465. package/bin/Utils/Profiler/index.d.ts.map +0 -1
  466. package/bin/Utils/Profiler/index.js +0 -7
  467. package/bin/Utils/Profiler/index.js.map +0 -1
  468. package/bin/Utils/Time.d.ts +0 -47
  469. package/bin/Utils/Time.d.ts.map +0 -1
  470. package/bin/Utils/Time.js +0 -64
  471. package/bin/Utils/Time.js.map +0 -1
  472. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  473. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  474. package/bin/Utils/Timers/ITimer.js +0 -2
  475. package/bin/Utils/Timers/ITimer.js.map +0 -1
  476. package/bin/Utils/Timers/Timer.d.ts +0 -30
  477. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  478. package/bin/Utils/Timers/Timer.js +0 -58
  479. package/bin/Utils/Timers/Timer.js.map +0 -1
  480. package/bin/Utils/Timers/TimerManager.d.ts +0 -26
  481. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  482. package/bin/Utils/Timers/TimerManager.js +0 -48
  483. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  484. package/bin/Utils/index.d.ts +0 -11
  485. package/bin/Utils/index.d.ts.map +0 -1
  486. package/bin/Utils/index.js +0 -11
  487. package/bin/Utils/index.js.map +0 -1
  488. package/bin/index.d.ts +0 -29
  489. package/bin/index.d.ts.map +0 -1
  490. package/bin/index.js +0 -36
  491. package/bin/index.js.map +0 -1
package/bin/ECS/World.js DELETED
@@ -1,416 +0,0 @@
1
- import { Scene } from './Scene';
2
- import { createLogger } from '../Utils/Logger';
3
- import { PerformanceMonitor } from '../Utils/PerformanceMonitor';
4
- import { ServiceContainer } from '../Core/ServiceContainer';
5
- const logger = createLogger('World');
6
- /**
7
- * World类 - ECS世界管理器
8
- *
9
- * World是Scene的容器,每个World可以管理多个Scene。
10
- * World拥有独立的服务容器,用于管理World级别的全局服务。
11
- *
12
- * 服务容器层级:
13
- * - Core.services: 应用程序全局服务
14
- * - World.services: World级别服务(每个World独立)
15
- * - Scene.services: Scene级别服务(每个Scene独立)
16
- *
17
- * 这种设计允许创建独立的游戏世界,如:
18
- * - 游戏房间(每个房间一个World)
19
- * - 不同的游戏模式
20
- * - 独立的模拟环境
21
- *
22
- * @example
23
- * ```typescript
24
- * // 创建游戏房间的World
25
- * const roomWorld = new World({ name: 'Room_001' });
26
- *
27
- * // 注册World级别的服务
28
- * roomWorld.services.registerSingleton(RoomManager);
29
- *
30
- * // 在World中创建Scene
31
- * const gameScene = roomWorld.createScene('game', new Scene());
32
- * const uiScene = roomWorld.createScene('ui', new Scene());
33
- *
34
- * // 在Scene中使用World级别的服务
35
- * const roomManager = roomWorld.services.resolve(RoomManager);
36
- *
37
- * // 更新整个World
38
- * roomWorld.update(deltaTime);
39
- * ```
40
- */
41
- export class World {
42
- constructor(config = {}) {
43
- this._scenes = new Map();
44
- this._activeScenes = new Set();
45
- this._globalSystems = [];
46
- this._isActive = false;
47
- this._config = {
48
- name: 'World',
49
- debug: false,
50
- maxScenes: 10,
51
- autoCleanup: true,
52
- ...config
53
- };
54
- this.name = this._config.name;
55
- this._createdAt = Date.now();
56
- this._services = new ServiceContainer();
57
- }
58
- /**
59
- * World级别的服务容器
60
- * 用于管理World范围内的全局服务
61
- */
62
- get services() {
63
- return this._services;
64
- }
65
- /**
66
- * 创建并添加Scene到World
67
- */
68
- createScene(sceneName, sceneInstance) {
69
- if (!sceneName || typeof sceneName !== 'string' || sceneName.trim() === '') {
70
- throw new Error('Scene name不能为空');
71
- }
72
- if (this._scenes.has(sceneName)) {
73
- throw new Error(`Scene name '${sceneName}' 已存在于World '${this.name}' 中`);
74
- }
75
- if (this._scenes.size >= this._config.maxScenes) {
76
- throw new Error(`World '${this.name}' 已达到最大Scene数量限制: ${this._config.maxScenes}`);
77
- }
78
- // 如果没有提供Scene实例,创建默认Scene
79
- const scene = sceneInstance || new Scene();
80
- // 如果配置了 debug,为 Scene 注册并启用 PerformanceMonitor
81
- if (this._config.debug) {
82
- const performanceMonitor = new PerformanceMonitor();
83
- performanceMonitor.enable();
84
- scene.services.registerInstance(PerformanceMonitor, performanceMonitor);
85
- }
86
- // 设置Scene的标识
87
- if ('id' in scene) {
88
- scene.id = sceneName;
89
- }
90
- if ('name' in scene && !scene.name) {
91
- scene.name = sceneName;
92
- }
93
- this._scenes.set(sceneName, scene);
94
- // 初始化Scene
95
- scene.initialize();
96
- return scene;
97
- }
98
- /**
99
- * 移除Scene
100
- */
101
- removeScene(sceneName) {
102
- const scene = this._scenes.get(sceneName);
103
- if (!scene) {
104
- return false;
105
- }
106
- // 如果Scene正在运行,先停止它
107
- if (this._activeScenes.has(sceneName)) {
108
- this.setSceneActive(sceneName, false);
109
- }
110
- // 清理Scene资源
111
- scene.end();
112
- this._scenes.delete(sceneName);
113
- logger.info(`从World '${this.name}' 中移除Scene: ${sceneName}`);
114
- return true;
115
- }
116
- /**
117
- * 获取Scene
118
- */
119
- getScene(sceneName) {
120
- return this._scenes.get(sceneName) || null;
121
- }
122
- /**
123
- * 获取所有Scene ID
124
- */
125
- getSceneIds() {
126
- return Array.from(this._scenes.keys());
127
- }
128
- /**
129
- * 获取所有Scene
130
- */
131
- getAllScenes() {
132
- return Array.from(this._scenes.values());
133
- }
134
- /**
135
- * 移除所有Scene
136
- */
137
- removeAllScenes() {
138
- const sceneNames = Array.from(this._scenes.keys());
139
- for (const sceneName of sceneNames) {
140
- this.removeScene(sceneName);
141
- }
142
- logger.info(`从World '${this.name}' 中移除所有Scene`);
143
- }
144
- /**
145
- * 设置Scene激活状态
146
- */
147
- setSceneActive(sceneName, active) {
148
- const scene = this._scenes.get(sceneName);
149
- if (!scene) {
150
- logger.warn(`Scene '${sceneName}' 不存在于World '${this.name}' 中`);
151
- return;
152
- }
153
- if (active) {
154
- this._activeScenes.add(sceneName);
155
- // 启动Scene
156
- if (scene.begin) {
157
- scene.begin();
158
- }
159
- logger.debug(`在World '${this.name}' 中激活Scene: ${sceneName}`);
160
- }
161
- else {
162
- this._activeScenes.delete(sceneName);
163
- // 可选择性地停止Scene,或者让它继续运行但不更新
164
- logger.debug(`在World '${this.name}' 中停用Scene: ${sceneName}`);
165
- }
166
- }
167
- /**
168
- * 检查Scene是否激活
169
- */
170
- isSceneActive(sceneName) {
171
- return this._activeScenes.has(sceneName);
172
- }
173
- /**
174
- * 获取活跃Scene数量
175
- */
176
- getActiveSceneCount() {
177
- return this._activeScenes.size;
178
- }
179
- /**
180
- * 添加全局System
181
- * 全局System会在所有激活Scene之前更新
182
- */
183
- addGlobalSystem(system) {
184
- if (this._globalSystems.includes(system)) {
185
- return system;
186
- }
187
- this._globalSystems.push(system);
188
- if (system.initialize) {
189
- system.initialize();
190
- }
191
- logger.debug(`在World '${this.name}' 中添加全局System: ${system.name}`);
192
- return system;
193
- }
194
- /**
195
- * 移除全局System
196
- */
197
- removeGlobalSystem(system) {
198
- const index = this._globalSystems.indexOf(system);
199
- if (index === -1) {
200
- return false;
201
- }
202
- this._globalSystems.splice(index, 1);
203
- if (system.reset) {
204
- system.reset();
205
- }
206
- logger.debug(`从World '${this.name}' 中移除全局System: ${system.name}`);
207
- return true;
208
- }
209
- /**
210
- * 获取全局System
211
- */
212
- getGlobalSystem(type) {
213
- for (const system of this._globalSystems) {
214
- if (system instanceof type) {
215
- return system;
216
- }
217
- }
218
- return null;
219
- }
220
- /**
221
- * 启动World
222
- */
223
- start() {
224
- if (this._isActive) {
225
- return;
226
- }
227
- this._isActive = true;
228
- // 启动所有全局System
229
- for (const system of this._globalSystems) {
230
- if (system.initialize) {
231
- system.initialize();
232
- }
233
- }
234
- logger.info(`启动World: ${this.name}`);
235
- }
236
- /**
237
- * 停止World
238
- */
239
- stop() {
240
- if (!this._isActive) {
241
- return;
242
- }
243
- // 停止所有Scene
244
- for (const sceneName of this._activeScenes) {
245
- this.setSceneActive(sceneName, false);
246
- }
247
- // 重置所有全局System
248
- for (const system of this._globalSystems) {
249
- if (system.reset) {
250
- system.reset();
251
- }
252
- }
253
- this._isActive = false;
254
- logger.info(`停止World: ${this.name}`);
255
- }
256
- /**
257
- * 更新World中的全局System
258
- * 注意:此方法由Core.update()调用,不应直接调用
259
- */
260
- updateGlobalSystems() {
261
- if (!this._isActive) {
262
- return;
263
- }
264
- // 更新全局System
265
- for (const system of this._globalSystems) {
266
- if (system.update) {
267
- system.update();
268
- }
269
- }
270
- }
271
- /**
272
- * 更新World中的所有激活Scene
273
- * 注意:此方法由Core.update()调用,不应直接调用
274
- */
275
- updateScenes() {
276
- if (!this._isActive) {
277
- return;
278
- }
279
- // 更新所有激活的Scene
280
- for (const sceneName of this._activeScenes) {
281
- const scene = this._scenes.get(sceneName);
282
- if (scene && scene.update) {
283
- scene.update();
284
- }
285
- }
286
- // 自动清理(如果启用)
287
- if (this._config.autoCleanup && this.shouldAutoCleanup()) {
288
- this.cleanup();
289
- }
290
- }
291
- /**
292
- * 销毁World
293
- */
294
- destroy() {
295
- logger.info(`销毁World: ${this.name}`);
296
- // 停止World
297
- this.stop();
298
- // 销毁所有Scene
299
- const sceneNames = Array.from(this._scenes.keys());
300
- for (const sceneName of sceneNames) {
301
- this.removeScene(sceneName);
302
- }
303
- // 清理全局System
304
- for (const system of this._globalSystems) {
305
- if (system.destroy) {
306
- system.destroy();
307
- }
308
- else if (system.reset) {
309
- system.reset();
310
- }
311
- }
312
- this._globalSystems.length = 0;
313
- // 清空服务容器
314
- this._services.clear();
315
- this._scenes.clear();
316
- this._activeScenes.clear();
317
- }
318
- /**
319
- * 获取World状态
320
- */
321
- getStatus() {
322
- return {
323
- name: this.name,
324
- isActive: this._isActive,
325
- sceneCount: this._scenes.size,
326
- activeSceneCount: this._activeScenes.size,
327
- globalSystemCount: this._globalSystems.length,
328
- createdAt: this._createdAt,
329
- config: { ...this._config },
330
- scenes: Array.from(this._scenes.keys()).map((sceneName) => ({
331
- id: sceneName,
332
- isActive: this._activeScenes.has(sceneName),
333
- name: this._scenes.get(sceneName)?.name || sceneName
334
- }))
335
- };
336
- }
337
- /**
338
- * 获取World统计信息
339
- */
340
- getStats() {
341
- const stats = {
342
- totalEntities: 0,
343
- totalSystems: this._globalSystems.length,
344
- memoryUsage: 0,
345
- performance: {
346
- averageUpdateTime: 0,
347
- maxUpdateTime: 0
348
- }
349
- };
350
- // 统计所有Scene的实体数量
351
- for (const scene of this._scenes.values()) {
352
- if (scene.entities) {
353
- stats.totalEntities += scene.entities.count;
354
- }
355
- if (scene.systems) {
356
- stats.totalSystems += scene.systems.length;
357
- }
358
- }
359
- return stats;
360
- }
361
- /**
362
- * 检查是否应该执行自动清理
363
- */
364
- shouldAutoCleanup() {
365
- // 简单的清理策略:如果有空Scene且超过5分钟没有实体
366
- const currentTime = Date.now();
367
- const cleanupThreshold = 5 * 60 * 1000; // 5分钟
368
- for (const [sceneName, scene] of this._scenes) {
369
- if (!this._activeScenes.has(sceneName) &&
370
- scene.entities &&
371
- scene.entities.count === 0 &&
372
- (currentTime - this._createdAt) > cleanupThreshold) {
373
- return true;
374
- }
375
- }
376
- return false;
377
- }
378
- /**
379
- * 执行清理操作
380
- */
381
- cleanup() {
382
- const sceneNames = Array.from(this._scenes.keys());
383
- const currentTime = Date.now();
384
- const cleanupThreshold = 5 * 60 * 1000; // 5分钟
385
- for (const sceneName of sceneNames) {
386
- const scene = this._scenes.get(sceneName);
387
- if (scene &&
388
- !this._activeScenes.has(sceneName) &&
389
- scene.entities &&
390
- scene.entities.count === 0 &&
391
- (currentTime - this._createdAt) > cleanupThreshold) {
392
- this.removeScene(sceneName);
393
- logger.debug(`自动清理空Scene: ${sceneName} from World ${this.name}`);
394
- }
395
- }
396
- }
397
- /**
398
- * 检查World是否激活
399
- */
400
- get isActive() {
401
- return this._isActive;
402
- }
403
- /**
404
- * 获取Scene数量
405
- */
406
- get sceneCount() {
407
- return this._scenes.size;
408
- }
409
- /**
410
- * 获取创建时间
411
- */
412
- get createdAt() {
413
- return this._createdAt;
414
- }
415
- }
416
- //# sourceMappingURL=World.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"World.js","sourceRoot":"","sources":["../../src/ECS/World.ts"],"names":[],"mappings":"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"}
@@ -1,224 +0,0 @@
1
- import { World, IWorldConfig } from './World';
2
- import type { IService } from '../Core/ServiceContainer';
3
- /**
4
- * WorldManager配置接口
5
- */
6
- export interface IWorldManagerConfig {
7
- /**
8
- * 最大World数量
9
- */
10
- maxWorlds?: number;
11
- /**
12
- * 是否自动清理空World
13
- */
14
- autoCleanup?: boolean;
15
- /**
16
- * 清理间隔(帧数)
17
- */
18
- cleanupFrameInterval?: number;
19
- /**
20
- * 是否启用调试模式
21
- */
22
- debug?: boolean;
23
- }
24
- /**
25
- * World管理器 - 管理所有World实例
26
- *
27
- * WorldManager负责管理多个独立的World实例。
28
- * 每个World都是独立的ECS环境,可以包含多个Scene。
29
- *
30
- * 适用场景:
31
- * - MMO游戏的多房间管理
32
- * - 服务器端的多游戏实例
33
- * - 需要完全隔离的多个游戏环境
34
- *
35
- * @example
36
- * ```typescript
37
- * // 创建WorldManager实例
38
- * const worldManager = new WorldManager({
39
- * maxWorlds: 100,
40
- * autoCleanup: true
41
- * });
42
- *
43
- * // 创建游戏房间World
44
- * const room1 = worldManager.createWorld('room_001', {
45
- * name: 'GameRoom_001',
46
- * maxScenes: 5
47
- * });
48
- * room1.setActive(true);
49
- *
50
- * // 游戏循环
51
- * function gameLoop(deltaTime: number) {
52
- * Core.update(deltaTime);
53
- * worldManager.updateAll(); // 更新所有活跃World
54
- * }
55
- * ```
56
- */
57
- export declare class WorldManager implements IService {
58
- private readonly _config;
59
- private readonly _worlds;
60
- private _isRunning;
61
- private _framesSinceCleanup;
62
- constructor(config?: IWorldManagerConfig);
63
- /**
64
- * 创建新World
65
- */
66
- createWorld(worldName: string, config?: IWorldConfig): World;
67
- /**
68
- * 移除World
69
- */
70
- removeWorld(worldName: string): boolean;
71
- /**
72
- * 获取World
73
- */
74
- getWorld(worldName: string): World | null;
75
- /**
76
- * 获取所有World ID
77
- */
78
- getWorldIds(): string[];
79
- /**
80
- * 获取所有World
81
- */
82
- getAllWorlds(): World[];
83
- /**
84
- * 设置World激活状态
85
- */
86
- setWorldActive(worldName: string, active: boolean): void;
87
- /**
88
- * 检查World是否激活
89
- */
90
- isWorldActive(worldName: string): boolean;
91
- /**
92
- * 更新所有活跃的World
93
- *
94
- * 应该在每帧的游戏循环中调用。
95
- * 会自动更新所有活跃World的全局系统和场景。
96
- *
97
- * @example
98
- * ```typescript
99
- * function gameLoop(deltaTime: number) {
100
- * Core.update(deltaTime); // 更新全局服务
101
- * worldManager.updateAll(); // 更新所有World
102
- * }
103
- * ```
104
- */
105
- updateAll(): void;
106
- /**
107
- * 获取所有激活的World
108
- */
109
- getActiveWorlds(): World[];
110
- /**
111
- * 启动所有World
112
- */
113
- startAll(): void;
114
- /**
115
- * 停止所有World
116
- */
117
- stopAll(): void;
118
- /**
119
- * 查找满足条件的World
120
- */
121
- findWorlds(predicate: (world: World) => boolean): World[];
122
- /**
123
- * 根据名称查找World
124
- */
125
- findWorldByName(name: string): World | null;
126
- /**
127
- * 获取WorldManager统计信息
128
- */
129
- getStats(): {
130
- totalWorlds: number;
131
- activeWorlds: number;
132
- totalScenes: number;
133
- totalEntities: number;
134
- totalSystems: number;
135
- memoryUsage: number;
136
- isRunning: boolean;
137
- config: {
138
- maxWorlds: number;
139
- autoCleanup: boolean;
140
- cleanupFrameInterval: number;
141
- debug: boolean;
142
- };
143
- worlds: any[];
144
- };
145
- /**
146
- * 获取详细状态信息
147
- */
148
- getDetailedStatus(): {
149
- worlds: {
150
- id: string;
151
- isActive: boolean;
152
- status: {
153
- name: string;
154
- isActive: boolean;
155
- sceneCount: number;
156
- activeSceneCount: number;
157
- globalSystemCount: number;
158
- createdAt: number;
159
- config: {
160
- name?: string;
161
- debug?: boolean;
162
- maxScenes?: number;
163
- autoCleanup?: boolean;
164
- };
165
- scenes: {
166
- id: string;
167
- isActive: boolean;
168
- name: string;
169
- }[];
170
- };
171
- }[];
172
- totalWorlds: number;
173
- activeWorlds: number;
174
- totalScenes: number;
175
- totalEntities: number;
176
- totalSystems: number;
177
- memoryUsage: number;
178
- isRunning: boolean;
179
- config: {
180
- maxWorlds: number;
181
- autoCleanup: boolean;
182
- cleanupFrameInterval: number;
183
- debug: boolean;
184
- };
185
- };
186
- /**
187
- * 清理空World
188
- */
189
- cleanup(): number;
190
- /**
191
- * 销毁WorldManager
192
- */
193
- destroy(): void;
194
- /**
195
- * 实现 IService 接口的 dispose 方法
196
- * 调用 destroy 方法进行清理
197
- */
198
- dispose(): void;
199
- /**
200
- * 判断World是否应该被清理
201
- * 清理策略:
202
- * 1. World未激活
203
- * 2. 没有Scene或所有Scene都是空的
204
- * 3. 创建时间超过10分钟
205
- */
206
- private shouldCleanupWorld;
207
- /**
208
- * 获取World总数
209
- */
210
- get worldCount(): number;
211
- /**
212
- * 获取激活World数量
213
- */
214
- get activeWorldCount(): number;
215
- /**
216
- * 检查是否正在运行
217
- */
218
- get isRunning(): boolean;
219
- /**
220
- * 获取配置
221
- */
222
- get config(): IWorldManagerConfig;
223
- }
224
- //# sourceMappingURL=WorldManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorldManager.d.ts","sourceRoot":"","sources":["../../src/ECS/WorldManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,YAAa,YAAW,QAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,mBAAmB,CAAa;gBAErB,MAAM,GAAE,mBAAwB;IAmBnD;;OAEG;IACI,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK;IA2BnE;;OAEG;IACI,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAc9C;;OAEG;IACI,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIhD;;OAEG;IACI,WAAW,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACI,YAAY,IAAI,KAAK,EAAE;IAI9B;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAgB/D;;OAEG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKhD;;;;;;;;;;;;;OAaG;IACI,SAAS,IAAI,IAAI;IA4BxB;;OAEG;IACI,eAAe,IAAI,KAAK,EAAE;IAUjC;;OAEG;IACI,QAAQ,IAAI,IAAI;IAUvB;;OAEG;IACI,OAAO,IAAI,IAAI;IAUtB;;OAEG;IACI,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,KAAK,EAAE;IAUhE;;OAEG;IACI,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IASlD;;OAEG;IACI,QAAQ;;;;;;;;;uBAxRH,MAAM;yBAKJ,OAAO;kCAKE,MAAM;mBAKrB,OAAO;;gBAmRO,GAAG,EAAE;;IAqB3B;;OAEG;IACI,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA1TZ,MAAM;yBAKJ,OAAO;kCAKE,MAAM;mBAKrB,OAAO;;;IAsTf;;OAEG;IACI,OAAO,IAAI,MAAM;IAoBxB;;OAEG;IACI,OAAO,IAAI,IAAI;IAkBtB;;;OAGG;IACI,OAAO,IAAI,IAAI;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAMpC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,mBAAmB,CAEvC;CACJ"}