@esengine/ecs-framework 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.ts +13451 -0
  4. package/dist/index.es5.js +4 -0
  5. package/dist/index.es5.js.map +1 -0
  6. package/dist/index.mjs +2 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/index.umd.js +4 -0
  9. package/dist/index.umd.js.map +1 -0
  10. package/dist/package.json +47 -0
  11. package/package.json +87 -84
  12. package/bin/Core/DI/Decorators.d.ts +0 -206
  13. package/bin/Core/DI/Decorators.d.ts.map +0 -1
  14. package/bin/Core/DI/Decorators.js +0 -253
  15. package/bin/Core/DI/Decorators.js.map +0 -1
  16. package/bin/Core/DI/index.d.ts +0 -8
  17. package/bin/Core/DI/index.d.ts.map +0 -1
  18. package/bin/Core/DI/index.js +0 -7
  19. package/bin/Core/DI/index.js.map +0 -1
  20. package/bin/Core/Plugin.d.ts +0 -112
  21. package/bin/Core/Plugin.d.ts.map +0 -1
  22. package/bin/Core/Plugin.js +0 -19
  23. package/bin/Core/Plugin.js.map +0 -1
  24. package/bin/Core/PluginManager.d.ts +0 -118
  25. package/bin/Core/PluginManager.d.ts.map +0 -1
  26. package/bin/Core/PluginManager.js +0 -229
  27. package/bin/Core/PluginManager.js.map +0 -1
  28. package/bin/Core/ServiceContainer.d.ts +0 -221
  29. package/bin/Core/ServiceContainer.d.ts.map +0 -1
  30. package/bin/Core/ServiceContainer.js +0 -352
  31. package/bin/Core/ServiceContainer.js.map +0 -1
  32. package/bin/Core.d.ts +0 -379
  33. package/bin/Core.d.ts.map +0 -1
  34. package/bin/Core.js +0 -553
  35. package/bin/Core.js.map +0 -1
  36. package/bin/ECS/Component.d.ts +0 -104
  37. package/bin/ECS/Component.d.ts.map +0 -1
  38. package/bin/ECS/Component.js +0 -105
  39. package/bin/ECS/Component.js.map +0 -1
  40. package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
  41. package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
  42. package/bin/ECS/Components/HierarchyComponent.js +0 -65
  43. package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
  44. package/bin/ECS/Components/index.d.ts +0 -2
  45. package/bin/ECS/Components/index.d.ts.map +0 -1
  46. package/bin/ECS/Components/index.js +0 -2
  47. package/bin/ECS/Components/index.js.map +0 -1
  48. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
  49. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  50. package/bin/ECS/Core/ArchetypeSystem.js +0 -244
  51. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  52. package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
  53. package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
  54. package/bin/ECS/Core/CommandBuffer.js +0 -244
  55. package/bin/ECS/Core/CommandBuffer.js.map +0 -1
  56. package/bin/ECS/Core/ComponentPool.d.ts +0 -139
  57. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  58. package/bin/ECS/Core/ComponentPool.js +0 -276
  59. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  60. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
  61. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  62. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
  63. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  64. package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
  65. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  66. package/bin/ECS/Core/ComponentStorage.js +0 -321
  67. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  68. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
  69. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
  70. package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
  71. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
  72. package/bin/ECS/Core/EventBus.d.ts +0 -210
  73. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  74. package/bin/ECS/Core/EventBus.js +0 -370
  75. package/bin/ECS/Core/EventBus.js.map +0 -1
  76. package/bin/ECS/Core/EventSystem.d.ts +0 -225
  77. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  78. package/bin/ECS/Core/EventSystem.js +0 -448
  79. package/bin/ECS/Core/EventSystem.js.map +0 -1
  80. package/bin/ECS/Core/Events/index.d.ts +0 -3
  81. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  82. package/bin/ECS/Core/Events/index.js +0 -3
  83. package/bin/ECS/Core/Events/index.js.map +0 -1
  84. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  85. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  86. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  87. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  88. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  89. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  90. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  91. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  92. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  93. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  94. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  95. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  96. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  97. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  98. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
  99. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  100. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  101. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  102. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  103. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  104. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  105. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  106. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  107. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  108. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  109. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  110. package/bin/ECS/Core/FluentAPI.js +0 -3
  111. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  112. package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
  113. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
  114. package/bin/ECS/Core/Query/TypedQuery.js +0 -294
  115. package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
  116. package/bin/ECS/Core/Query/index.d.ts +0 -3
  117. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  118. package/bin/ECS/Core/Query/index.js +0 -3
  119. package/bin/ECS/Core/Query/index.js.map +0 -1
  120. package/bin/ECS/Core/QuerySystem.d.ts +0 -458
  121. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  122. package/bin/ECS/Core/QuerySystem.js +0 -1069
  123. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  124. package/bin/ECS/Core/QueryTypes.d.ts +0 -34
  125. package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
  126. package/bin/ECS/Core/QueryTypes.js +0 -13
  127. package/bin/ECS/Core/QueryTypes.js.map +0 -1
  128. package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
  129. package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
  130. package/bin/ECS/Core/ReactiveQuery.js +0 -401
  131. package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
  132. package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
  133. package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
  134. package/bin/ECS/Core/ReferenceTracker.js +0 -254
  135. package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
  136. package/bin/ECS/Core/SoASerializer.d.ts +0 -28
  137. package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
  138. package/bin/ECS/Core/SoASerializer.js +0 -85
  139. package/bin/ECS/Core/SoASerializer.js.map +0 -1
  140. package/bin/ECS/Core/SoAStorage.d.ts +0 -129
  141. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  142. package/bin/ECS/Core/SoAStorage.js +0 -685
  143. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  144. package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
  145. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
  146. package/bin/ECS/Core/SoATypeRegistry.js +0 -135
  147. package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
  148. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  149. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  150. package/bin/ECS/Core/Storage/index.js +0 -4
  151. package/bin/ECS/Core/Storage/index.js.map +0 -1
  152. package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
  153. package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
  154. package/bin/ECS/Core/StorageDecorators.js +0 -27
  155. package/bin/ECS/Core/StorageDecorators.js.map +0 -1
  156. package/bin/ECS/CoreEvents.d.ts +0 -131
  157. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  158. package/bin/ECS/CoreEvents.js +0 -163
  159. package/bin/ECS/CoreEvents.js.map +0 -1
  160. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
  161. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
  162. package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
  163. package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
  164. package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
  165. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
  166. package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
  167. package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
  168. package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
  169. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
  170. package/bin/ECS/Decorators/TypeDecorators.js +0 -151
  171. package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
  172. package/bin/ECS/Decorators/index.d.ts +0 -7
  173. package/bin/ECS/Decorators/index.d.ts.map +0 -1
  174. package/bin/ECS/Decorators/index.js +0 -4
  175. package/bin/ECS/Decorators/index.js.map +0 -1
  176. package/bin/ECS/Entity.d.ts +0 -415
  177. package/bin/ECS/Entity.d.ts.map +0 -1
  178. package/bin/ECS/Entity.js +0 -683
  179. package/bin/ECS/Entity.js.map +0 -1
  180. package/bin/ECS/EntityTags.d.ts +0 -71
  181. package/bin/ECS/EntityTags.d.ts.map +0 -1
  182. package/bin/ECS/EntityTags.js +0 -82
  183. package/bin/ECS/EntityTags.js.map +0 -1
  184. package/bin/ECS/IScene.d.ts +0 -308
  185. package/bin/ECS/IScene.d.ts.map +0 -1
  186. package/bin/ECS/IScene.js +0 -2
  187. package/bin/ECS/IScene.js.map +0 -1
  188. package/bin/ECS/Scene.d.ts +0 -799
  189. package/bin/ECS/Scene.d.ts.map +0 -1
  190. package/bin/ECS/Scene.js +0 -1203
  191. package/bin/ECS/Scene.js.map +0 -1
  192. package/bin/ECS/SceneManager.d.ts +0 -197
  193. package/bin/ECS/SceneManager.d.ts.map +0 -1
  194. package/bin/ECS/SceneManager.js +0 -264
  195. package/bin/ECS/SceneManager.js.map +0 -1
  196. package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
  197. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
  198. package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
  199. package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
  200. package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
  201. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
  202. package/bin/ECS/Serialization/EntitySerializer.js +0 -155
  203. package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
  204. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
  205. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
  206. package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
  207. package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
  208. package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
  209. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
  210. package/bin/ECS/Serialization/SceneSerializer.js +0 -387
  211. package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
  212. package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
  213. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
  214. package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
  215. package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
  216. package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
  217. package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
  218. package/bin/ECS/Serialization/VersionMigration.js +0 -279
  219. package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
  220. package/bin/ECS/Serialization/index.d.ts +0 -18
  221. package/bin/ECS/Serialization/index.d.ts.map +0 -1
  222. package/bin/ECS/Serialization/index.js +0 -18
  223. package/bin/ECS/Serialization/index.js.map +0 -1
  224. package/bin/ECS/Systems/EntityCache.d.ts +0 -114
  225. package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
  226. package/bin/ECS/Systems/EntityCache.js +0 -145
  227. package/bin/ECS/Systems/EntityCache.js.map +0 -1
  228. package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
  229. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  230. package/bin/ECS/Systems/EntitySystem.js +0 -1102
  231. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  232. package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
  233. package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
  234. package/bin/ECS/Systems/HierarchySystem.js +0 -498
  235. package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
  236. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  237. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  238. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  239. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  240. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  241. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  242. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  243. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  244. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  245. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  246. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  247. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  248. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
  249. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
  250. package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
  251. package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
  252. package/bin/ECS/Systems/index.d.ts +0 -8
  253. package/bin/ECS/Systems/index.d.ts.map +0 -1
  254. package/bin/ECS/Systems/index.js +0 -8
  255. package/bin/ECS/Systems/index.js.map +0 -1
  256. package/bin/ECS/TypedEntity.d.ts +0 -192
  257. package/bin/ECS/TypedEntity.d.ts.map +0 -1
  258. package/bin/ECS/TypedEntity.js +0 -254
  259. package/bin/ECS/TypedEntity.js.map +0 -1
  260. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
  261. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  262. package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
  263. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  264. package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
  265. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
  266. package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
  267. package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
  268. package/bin/ECS/Utils/Bits.d.ts +0 -154
  269. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  270. package/bin/ECS/Utils/Bits.js +0 -331
  271. package/bin/ECS/Utils/Bits.js.map +0 -1
  272. package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
  273. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
  274. package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
  275. package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
  276. package/bin/ECS/Utils/EntityList.d.ts +0 -115
  277. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  278. package/bin/ECS/Utils/EntityList.js +0 -258
  279. package/bin/ECS/Utils/EntityList.js.map +0 -1
  280. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  281. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  282. package/bin/ECS/Utils/EntityProcessorList.js +0 -113
  283. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  284. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  285. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  286. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  287. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  288. package/bin/ECS/Utils/Matcher.d.ts +0 -171
  289. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  290. package/bin/ECS/Utils/Matcher.js +0 -293
  291. package/bin/ECS/Utils/Matcher.js.map +0 -1
  292. package/bin/ECS/Utils/SparseSet.d.ts +0 -170
  293. package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
  294. package/bin/ECS/Utils/SparseSet.js +0 -280
  295. package/bin/ECS/Utils/SparseSet.js.map +0 -1
  296. package/bin/ECS/Utils/index.d.ts +0 -9
  297. package/bin/ECS/Utils/index.d.ts.map +0 -1
  298. package/bin/ECS/Utils/index.js +0 -10
  299. package/bin/ECS/Utils/index.js.map +0 -1
  300. package/bin/ECS/World.d.ts +0 -238
  301. package/bin/ECS/World.d.ts.map +0 -1
  302. package/bin/ECS/World.js +0 -416
  303. package/bin/ECS/World.js.map +0 -1
  304. package/bin/ECS/WorldManager.d.ts +0 -224
  305. package/bin/ECS/WorldManager.d.ts.map +0 -1
  306. package/bin/ECS/WorldManager.js +0 -365
  307. package/bin/ECS/WorldManager.js.map +0 -1
  308. package/bin/ECS/index.d.ts +0 -26
  309. package/bin/ECS/index.d.ts.map +0 -1
  310. package/bin/ECS/index.js +0 -21
  311. package/bin/ECS/index.js.map +0 -1
  312. package/bin/Platform/IPlatformAdapter.d.ts +0 -169
  313. package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
  314. package/bin/Platform/IPlatformAdapter.js +0 -2
  315. package/bin/Platform/IPlatformAdapter.js.map +0 -1
  316. package/bin/Platform/PlatformDetector.d.ts +0 -56
  317. package/bin/Platform/PlatformDetector.d.ts.map +0 -1
  318. package/bin/Platform/PlatformDetector.js +0 -247
  319. package/bin/Platform/PlatformDetector.js.map +0 -1
  320. package/bin/Platform/PlatformManager.d.ts +0 -50
  321. package/bin/Platform/PlatformManager.d.ts.map +0 -1
  322. package/bin/Platform/PlatformManager.js +0 -114
  323. package/bin/Platform/PlatformManager.js.map +0 -1
  324. package/bin/Platform/index.d.ts +0 -19
  325. package/bin/Platform/index.d.ts.map +0 -1
  326. package/bin/Platform/index.js +0 -29
  327. package/bin/Platform/index.js.map +0 -1
  328. package/bin/Plugins/DebugPlugin.d.ts +0 -156
  329. package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
  330. package/bin/Plugins/DebugPlugin.js +0 -248
  331. package/bin/Plugins/DebugPlugin.js.map +0 -1
  332. package/bin/Plugins/index.d.ts +0 -2
  333. package/bin/Plugins/index.d.ts.map +0 -1
  334. package/bin/Plugins/index.js +0 -2
  335. package/bin/Plugins/index.js.map +0 -1
  336. package/bin/Types/IUpdatable.d.ts +0 -18
  337. package/bin/Types/IUpdatable.d.ts.map +0 -1
  338. package/bin/Types/IUpdatable.js +0 -7
  339. package/bin/Types/IUpdatable.js.map +0 -1
  340. package/bin/Types/TypeHelpers.d.ts +0 -238
  341. package/bin/Types/TypeHelpers.d.ts.map +0 -1
  342. package/bin/Types/TypeHelpers.js +0 -19
  343. package/bin/Types/TypeHelpers.js.map +0 -1
  344. package/bin/Types/index.d.ts +0 -466
  345. package/bin/Types/index.d.ts.map +0 -1
  346. package/bin/Types/index.js +0 -7
  347. package/bin/Types/index.js.map +0 -1
  348. package/bin/Utils/BinarySerializer.d.ts +0 -23
  349. package/bin/Utils/BinarySerializer.d.ts.map +0 -1
  350. package/bin/Utils/BinarySerializer.js +0 -100
  351. package/bin/Utils/BinarySerializer.js.map +0 -1
  352. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
  353. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
  354. package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
  355. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
  356. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
  357. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  358. package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
  359. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  360. package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
  361. package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
  362. package/bin/Utils/Debug/DebugConfigService.js +0 -42
  363. package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
  364. package/bin/Utils/Debug/DebugManager.d.ts +0 -131
  365. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  366. package/bin/Utils/Debug/DebugManager.js +0 -848
  367. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  368. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
  369. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  370. package/bin/Utils/Debug/EntityDataCollector.js +0 -870
  371. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  372. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
  373. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  374. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
  375. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  376. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
  377. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  378. package/bin/Utils/Debug/SceneDataCollector.js +0 -43
  379. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  380. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
  381. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  382. package/bin/Utils/Debug/SystemDataCollector.js +0 -60
  383. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  384. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
  385. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  386. package/bin/Utils/Debug/WebSocketManager.js +0 -141
  387. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  388. package/bin/Utils/Debug/index.d.ts +0 -11
  389. package/bin/Utils/Debug/index.d.ts.map +0 -1
  390. package/bin/Utils/Debug/index.js +0 -10
  391. package/bin/Utils/Debug/index.js.map +0 -1
  392. package/bin/Utils/Emitter.d.ts +0 -61
  393. package/bin/Utils/Emitter.d.ts.map +0 -1
  394. package/bin/Utils/Emitter.js +0 -101
  395. package/bin/Utils/Emitter.js.map +0 -1
  396. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  397. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  398. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  399. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  400. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  401. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  402. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  403. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  404. package/bin/Utils/Extensions/index.d.ts +0 -3
  405. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  406. package/bin/Utils/Extensions/index.js +0 -4
  407. package/bin/Utils/Extensions/index.js.map +0 -1
  408. package/bin/Utils/GlobalManager.d.ts +0 -29
  409. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  410. package/bin/Utils/GlobalManager.js +0 -50
  411. package/bin/Utils/GlobalManager.js.map +0 -1
  412. package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
  413. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
  414. package/bin/Utils/Logger/ConsoleLogger.js +0 -187
  415. package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
  416. package/bin/Utils/Logger/Constants.d.ts +0 -36
  417. package/bin/Utils/Logger/Constants.d.ts.map +0 -1
  418. package/bin/Utils/Logger/Constants.js +0 -40
  419. package/bin/Utils/Logger/Constants.js.map +0 -1
  420. package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
  421. package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
  422. package/bin/Utils/Logger/LoggerManager.js +0 -167
  423. package/bin/Utils/Logger/LoggerManager.js.map +0 -1
  424. package/bin/Utils/Logger/Types.d.ts +0 -40
  425. package/bin/Utils/Logger/Types.d.ts.map +0 -1
  426. package/bin/Utils/Logger/Types.js +0 -2
  427. package/bin/Utils/Logger/Types.js.map +0 -1
  428. package/bin/Utils/Logger/index.d.ts +0 -5
  429. package/bin/Utils/Logger/index.d.ts.map +0 -1
  430. package/bin/Utils/Logger/index.js +0 -5
  431. package/bin/Utils/Logger/index.js.map +0 -1
  432. package/bin/Utils/PerformanceMonitor.d.ts +0 -196
  433. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  434. package/bin/Utils/PerformanceMonitor.js +0 -244
  435. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  436. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  437. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  438. package/bin/Utils/Pool/IPoolable.js +0 -2
  439. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  440. package/bin/Utils/Pool/Pool.d.ts +0 -109
  441. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  442. package/bin/Utils/Pool/Pool.js +0 -238
  443. package/bin/Utils/Pool/Pool.js.map +0 -1
  444. package/bin/Utils/Pool/PoolManager.d.ts +0 -96
  445. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  446. package/bin/Utils/Pool/PoolManager.js +0 -199
  447. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  448. package/bin/Utils/Pool/index.d.ts +0 -4
  449. package/bin/Utils/Pool/index.d.ts.map +0 -1
  450. package/bin/Utils/Pool/index.js +0 -4
  451. package/bin/Utils/Pool/index.js.map +0 -1
  452. package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
  453. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
  454. package/bin/Utils/Profiler/AutoProfiler.js +0 -503
  455. package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
  456. package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
  457. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
  458. package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
  459. package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
  460. package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
  461. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
  462. package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
  463. package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
  464. package/bin/Utils/Profiler/index.d.ts +0 -8
  465. package/bin/Utils/Profiler/index.d.ts.map +0 -1
  466. package/bin/Utils/Profiler/index.js +0 -7
  467. package/bin/Utils/Profiler/index.js.map +0 -1
  468. package/bin/Utils/Time.d.ts +0 -47
  469. package/bin/Utils/Time.d.ts.map +0 -1
  470. package/bin/Utils/Time.js +0 -64
  471. package/bin/Utils/Time.js.map +0 -1
  472. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  473. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  474. package/bin/Utils/Timers/ITimer.js +0 -2
  475. package/bin/Utils/Timers/ITimer.js.map +0 -1
  476. package/bin/Utils/Timers/Timer.d.ts +0 -30
  477. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  478. package/bin/Utils/Timers/Timer.js +0 -58
  479. package/bin/Utils/Timers/Timer.js.map +0 -1
  480. package/bin/Utils/Timers/TimerManager.d.ts +0 -26
  481. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  482. package/bin/Utils/Timers/TimerManager.js +0 -48
  483. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  484. package/bin/Utils/index.d.ts +0 -11
  485. package/bin/Utils/index.d.ts.map +0 -1
  486. package/bin/Utils/index.js +0 -11
  487. package/bin/Utils/index.js.map +0 -1
  488. package/bin/index.d.ts +0 -29
  489. package/bin/index.d.ts.map +0 -1
  490. package/bin/index.js +0 -36
  491. package/bin/index.js.map +0 -1
@@ -1,46 +0,0 @@
1
- /**
2
- * EntityRef元数据的Symbol键
3
- */
4
- export declare const ENTITY_REF_METADATA: unique symbol;
5
- /**
6
- * EntityRef元数据
7
- */
8
- export interface EntityRefMetadata {
9
- properties: Set<string>;
10
- }
11
- /**
12
- * Entity引用装饰器
13
- *
14
- * 标记Component属性为Entity引用,自动追踪引用关系。
15
- * 当被引用的Entity销毁时,该属性会自动设为null。
16
- *
17
- * @example
18
- * ```typescript
19
- * class ParentComponent extends Component {
20
- * @EntityRef() parent: Entity | null = null;
21
- * }
22
- *
23
- * const parent = scene.createEntity('Parent');
24
- * const child = scene.createEntity('Child');
25
- * const comp = child.addComponent(new ParentComponent());
26
- *
27
- * comp.parent = parent;
28
- * parent.destroy(); // comp.parent 自动变为 null
29
- * ```
30
- */
31
- export declare function EntityRef(): PropertyDecorator;
32
- /**
33
- * 获取Component的EntityRef元数据
34
- *
35
- * @param component Component实例或Component类
36
- * @returns EntityRef元数据,如果不存在则返回null
37
- */
38
- export declare function getEntityRefMetadata(component: any): EntityRefMetadata | null;
39
- /**
40
- * 检查Component是否有EntityRef属性
41
- *
42
- * @param component Component实例或Component类
43
- * @returns 如果有EntityRef属性返回true
44
- */
45
- export declare function hasEntityRef(component: any): boolean;
46
- //# sourceMappingURL=EntityRefDecorator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityRefDecorator.d.ts","sourceRoot":"","sources":["../../../src/ECS/Decorators/EntityRefDecorator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAA8B,CAAC;AAO/D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,IAAI,iBAAiB,CA8D7C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,iBAAiB,GAAG,IAAI,CAU7E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAEpD"}
@@ -1,118 +0,0 @@
1
- import { getSceneByEntityId } from '../Core/ReferenceTracker';
2
- import { createLogger } from '../../Utils/Logger';
3
- const logger = createLogger('EntityRefDecorator');
4
- /**
5
- * EntityRef元数据的Symbol键
6
- */
7
- export const ENTITY_REF_METADATA = Symbol('EntityRefMetadata');
8
- /**
9
- * EntityRef值存储的Symbol键
10
- */
11
- const ENTITY_REF_VALUES = Symbol('EntityRefValues');
12
- /**
13
- * 获取或创建组件的EntityRef值存储Map
14
- */
15
- function getValueMap(component) {
16
- let map = component[ENTITY_REF_VALUES];
17
- if (!map) {
18
- map = new Map();
19
- component[ENTITY_REF_VALUES] = map;
20
- }
21
- return map;
22
- }
23
- /**
24
- * Entity引用装饰器
25
- *
26
- * 标记Component属性为Entity引用,自动追踪引用关系。
27
- * 当被引用的Entity销毁时,该属性会自动设为null。
28
- *
29
- * @example
30
- * ```typescript
31
- * class ParentComponent extends Component {
32
- * @EntityRef() parent: Entity | null = null;
33
- * }
34
- *
35
- * const parent = scene.createEntity('Parent');
36
- * const child = scene.createEntity('Child');
37
- * const comp = child.addComponent(new ParentComponent());
38
- *
39
- * comp.parent = parent;
40
- * parent.destroy(); // comp.parent 自动变为 null
41
- * ```
42
- */
43
- export function EntityRef() {
44
- return function (target, propertyKey) {
45
- const constructor = target.constructor;
46
- let metadata = constructor[ENTITY_REF_METADATA];
47
- if (!metadata) {
48
- metadata = {
49
- properties: new Set()
50
- };
51
- constructor[ENTITY_REF_METADATA] = metadata;
52
- }
53
- const propKeyString = typeof propertyKey === 'symbol' ? propertyKey.toString() : propertyKey;
54
- metadata.properties.add(propKeyString);
55
- Object.defineProperty(target, propertyKey, {
56
- get: function () {
57
- const valueMap = getValueMap(this);
58
- return valueMap.get(propKeyString) || null;
59
- },
60
- set: function (newValue) {
61
- const valueMap = getValueMap(this);
62
- const oldValue = valueMap.get(propKeyString) || null;
63
- if (oldValue === newValue) {
64
- return;
65
- }
66
- const scene = this.entityId !== null ? getSceneByEntityId(this.entityId) : null;
67
- if (!scene || !scene.referenceTracker) {
68
- valueMap.set(propKeyString, newValue);
69
- return;
70
- }
71
- const tracker = scene.referenceTracker;
72
- if (oldValue) {
73
- tracker.unregisterReference(oldValue, this, propKeyString);
74
- }
75
- if (newValue) {
76
- if (newValue.scene !== scene) {
77
- logger.error(`Cannot reference Entity from different Scene. Entity: ${newValue.name}, Scene: ${newValue.scene?.name || 'null'}`);
78
- return;
79
- }
80
- if (newValue.isDestroyed) {
81
- logger.warn(`Cannot reference destroyed Entity: ${newValue.name}`);
82
- valueMap.set(propKeyString, null);
83
- return;
84
- }
85
- tracker.registerReference(newValue, this, propKeyString);
86
- }
87
- valueMap.set(propKeyString, newValue);
88
- },
89
- enumerable: true,
90
- configurable: true
91
- });
92
- };
93
- }
94
- /**
95
- * 获取Component的EntityRef元数据
96
- *
97
- * @param component Component实例或Component类
98
- * @returns EntityRef元数据,如果不存在则返回null
99
- */
100
- export function getEntityRefMetadata(component) {
101
- if (!component) {
102
- return null;
103
- }
104
- const constructor = typeof component === 'function'
105
- ? component
106
- : component.constructor;
107
- return constructor[ENTITY_REF_METADATA] || null;
108
- }
109
- /**
110
- * 检查Component是否有EntityRef属性
111
- *
112
- * @param component Component实例或Component类
113
- * @returns 如果有EntityRef属性返回true
114
- */
115
- export function hasEntityRef(component) {
116
- return getEntityRefMetadata(component) !== null;
117
- }
118
- //# sourceMappingURL=EntityRefDecorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityRefDecorator.js","sourceRoot":"","sources":["../../../src/ECS/Decorators/EntityRefDecorator.ts"],"names":[],"mappings":"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"}
@@ -1,168 +0,0 @@
1
- import 'reflect-metadata';
2
- export type PropertyType = 'number' | 'integer' | 'string' | 'boolean' | 'color' | 'vector2' | 'vector3' | 'enum' | 'asset' | 'animationClips' | 'collisionLayer' | 'collisionMask';
3
- /**
4
- * 资源类型
5
- * Asset type for asset properties
6
- */
7
- export type AssetType = 'texture' | 'audio' | 'scene' | 'prefab' | 'animation' | 'any';
8
- /**
9
- * 枚举选项 - 支持简单字符串或带标签的对象
10
- * Enum option - supports simple string or labeled object
11
- */
12
- export type EnumOption = string | {
13
- label: string;
14
- value: any;
15
- };
16
- /**
17
- * Action button configuration for property fields
18
- * 属性字段的操作按钮配置
19
- */
20
- export interface PropertyAction {
21
- /** Action identifier | 操作标识符 */
22
- id: string;
23
- /** Button label | 按钮标签 */
24
- label: string;
25
- /** Button tooltip | 按钮提示 */
26
- tooltip?: string;
27
- /** Icon name from Lucide | Lucide图标名称 */
28
- icon?: string;
29
- }
30
- /**
31
- * 控制关系声明
32
- * Control relationship declaration
33
- */
34
- export interface PropertyControl {
35
- /** 被控制的组件名称 | Target component name */
36
- component: string;
37
- /** 被控制的属性名称 | Target property name */
38
- property: string;
39
- }
40
- /**
41
- * 属性基础选项
42
- * Base property options shared by all types
43
- */
44
- interface PropertyOptionsBase {
45
- /** 显示标签 | Display label */
46
- label?: string;
47
- /** 是否只读 | Read-only flag */
48
- readOnly?: boolean;
49
- /** Action buttons | 操作按钮 */
50
- actions?: PropertyAction[];
51
- /** 此属性控制的其他组件属性 | Properties this field controls */
52
- controls?: PropertyControl[];
53
- }
54
- /**
55
- * 数值类型属性选项
56
- * Number property options
57
- */
58
- interface NumberPropertyOptions extends PropertyOptionsBase {
59
- type: 'number' | 'integer';
60
- min?: number;
61
- max?: number;
62
- step?: number;
63
- }
64
- /**
65
- * 字符串类型属性选项
66
- * String property options
67
- */
68
- interface StringPropertyOptions extends PropertyOptionsBase {
69
- type: 'string';
70
- /** 多行文本 | Multiline text */
71
- multiline?: boolean;
72
- }
73
- /**
74
- * 布尔类型属性选项
75
- * Boolean property options
76
- */
77
- interface BooleanPropertyOptions extends PropertyOptionsBase {
78
- type: 'boolean';
79
- }
80
- /**
81
- * 颜色类型属性选项
82
- * Color property options
83
- */
84
- interface ColorPropertyOptions extends PropertyOptionsBase {
85
- type: 'color';
86
- /** 是否包含透明度 | Include alpha channel */
87
- alpha?: boolean;
88
- }
89
- /**
90
- * 向量类型属性选项
91
- * Vector property options
92
- */
93
- interface VectorPropertyOptions extends PropertyOptionsBase {
94
- type: 'vector2' | 'vector3';
95
- }
96
- /**
97
- * 枚举类型属性选项
98
- * Enum property options
99
- */
100
- interface EnumPropertyOptions extends PropertyOptionsBase {
101
- type: 'enum';
102
- /** 枚举选项列表 | Enum options list */
103
- options: EnumOption[];
104
- }
105
- /**
106
- * 资源类型属性选项
107
- * Asset property options
108
- */
109
- interface AssetPropertyOptions extends PropertyOptionsBase {
110
- type: 'asset';
111
- /** 资源类型 | Asset type */
112
- assetType?: AssetType;
113
- /** 文件扩展名过滤 | File extension filter */
114
- extensions?: string[];
115
- }
116
- /**
117
- * 动画剪辑类型属性选项
118
- * Animation clips property options
119
- */
120
- interface AnimationClipsPropertyOptions extends PropertyOptionsBase {
121
- type: 'animationClips';
122
- }
123
- /**
124
- * 碰撞层属性选项
125
- * Collision layer property options
126
- */
127
- interface CollisionLayerPropertyOptions extends PropertyOptionsBase {
128
- type: 'collisionLayer';
129
- }
130
- /**
131
- * 碰撞掩码属性选项
132
- * Collision mask property options
133
- */
134
- interface CollisionMaskPropertyOptions extends PropertyOptionsBase {
135
- type: 'collisionMask';
136
- }
137
- /**
138
- * 属性选项联合类型
139
- * Property options union type
140
- */
141
- export type PropertyOptions = NumberPropertyOptions | StringPropertyOptions | BooleanPropertyOptions | ColorPropertyOptions | VectorPropertyOptions | EnumPropertyOptions | AssetPropertyOptions | AnimationClipsPropertyOptions | CollisionLayerPropertyOptions | CollisionMaskPropertyOptions;
142
- export declare const PROPERTY_METADATA: unique symbol;
143
- /**
144
- * 属性装饰器 - 声明组件属性的编辑器元数据
145
- *
146
- * @example
147
- * ```typescript
148
- * @ECSComponent('Transform')
149
- * export class TransformComponent extends Component {
150
- * @Property({ type: 'vector3', label: 'Position' })
151
- * public position: Vector3 = { x: 0, y: 0, z: 0 };
152
- *
153
- * @Property({ type: 'number', label: 'Speed', min: 0, max: 100 })
154
- * public speed: number = 10;
155
- * }
156
- * ```
157
- */
158
- export declare function Property(options: PropertyOptions): PropertyDecorator;
159
- /**
160
- * 获取组件类的所有属性元数据
161
- */
162
- export declare function getPropertyMetadata(target: Function): Record<string, PropertyOptions> | undefined;
163
- /**
164
- * 检查组件类是否有属性元数据
165
- */
166
- export declare function hasPropertyMetadata(target: Function): boolean;
167
- export {};
168
- //# sourceMappingURL=PropertyDecorator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PropertyDecorator.d.ts","sourceRoot":"","sources":["../../../src/ECS/Decorators/PropertyDecorator.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import 'reflect-metadata';
2
- // 使用 Symbol.for 创建全局 Symbol,确保跨包共享元数据
3
- // Use Symbol.for to create a global Symbol to ensure metadata sharing across packages
4
- export const PROPERTY_METADATA = Symbol.for('@esengine/property:metadata');
5
- /**
6
- * 属性装饰器 - 声明组件属性的编辑器元数据
7
- *
8
- * @example
9
- * ```typescript
10
- * @ECSComponent('Transform')
11
- * export class TransformComponent extends Component {
12
- * @Property({ type: 'vector3', label: 'Position' })
13
- * public position: Vector3 = { x: 0, y: 0, z: 0 };
14
- *
15
- * @Property({ type: 'number', label: 'Speed', min: 0, max: 100 })
16
- * public speed: number = 10;
17
- * }
18
- * ```
19
- */
20
- export function Property(options) {
21
- return (target, propertyKey) => {
22
- const constructor = target.constructor;
23
- const existingMetadata = Reflect.getMetadata(PROPERTY_METADATA, constructor) || {};
24
- existingMetadata[propertyKey] = options;
25
- Reflect.defineMetadata(PROPERTY_METADATA, existingMetadata, constructor);
26
- };
27
- }
28
- /**
29
- * 获取组件类的所有属性元数据
30
- */
31
- export function getPropertyMetadata(target) {
32
- return Reflect.getMetadata(PROPERTY_METADATA, target);
33
- }
34
- /**
35
- * 检查组件类是否有属性元数据
36
- */
37
- export function hasPropertyMetadata(target) {
38
- return Reflect.hasMetadata(PROPERTY_METADATA, target);
39
- }
40
- //# sourceMappingURL=PropertyDecorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PropertyDecorator.js","sourceRoot":"","sources":["../../../src/ECS/Decorators/PropertyDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAsK1B,sCAAsC;AACtC,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC7C,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAEnF,gBAAgB,CAAC,WAAqB,CAAC,GAAG,OAAO,CAAC;QAElD,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC7E,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAgB;IAChD,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAgB;IAChD,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC"}
@@ -1,124 +0,0 @@
1
- import type { Component } from '../Component';
2
- import type { EntitySystem } from '../Systems';
3
- import { ComponentType } from '../../Types';
4
- /**
5
- * 存储组件类型名称的Symbol键
6
- */
7
- export declare const COMPONENT_TYPE_NAME: unique symbol;
8
- /**
9
- * 存储组件依赖的Symbol键
10
- */
11
- export declare const COMPONENT_DEPENDENCIES: unique symbol;
12
- /**
13
- * 存储系统类型名称的Symbol键
14
- */
15
- export declare const SYSTEM_TYPE_NAME: unique symbol;
16
- /**
17
- * 组件装饰器配置选项
18
- */
19
- export interface ComponentOptions {
20
- /** 依赖的其他组件名称列表 */
21
- requires?: string[];
22
- }
23
- /**
24
- * 组件类型装饰器
25
- * 用于为组件类指定固定的类型名称,避免在代码混淆后失效
26
- *
27
- * @param typeName 组件类型名称
28
- * @param options 组件配置选项
29
- * @example
30
- * ```typescript
31
- * @ECSComponent('Position')
32
- * class PositionComponent extends Component {
33
- * x: number = 0;
34
- * y: number = 0;
35
- * }
36
- *
37
- * // 带依赖声明
38
- * @ECSComponent('SpriteAnimator', { requires: ['Sprite'] })
39
- * class SpriteAnimatorComponent extends Component {
40
- * // ...
41
- * }
42
- * ```
43
- */
44
- export declare function ECSComponent(typeName: string, options?: ComponentOptions): <T extends new (...args: any[]) => Component>(target: T) => T;
45
- /**
46
- * 获取组件的依赖列表
47
- */
48
- export declare function getComponentDependencies(componentType: ComponentType): string[] | undefined;
49
- /**
50
- * System元数据配置
51
- */
52
- export interface SystemMetadata {
53
- /**
54
- * 更新顺序(数值越小越先执行,默认0)
55
- */
56
- updateOrder?: number;
57
- /**
58
- * 是否默认启用(默认true)
59
- */
60
- enabled?: boolean;
61
- }
62
- /**
63
- * 系统类型装饰器
64
- * 用于为系统类指定固定的类型名称,避免在代码混淆后失效
65
- *
66
- * @param typeName 系统类型名称
67
- * @param metadata 系统元数据配置
68
- * @example
69
- * ```typescript
70
- * // 基本使用
71
- * @ECSSystem('Movement')
72
- * class MovementSystem extends EntitySystem {
73
- * protected process(entities: Entity[]): void {
74
- * // 系统逻辑
75
- * }
76
- * }
77
- *
78
- * // 配置更新顺序和依赖注入
79
- * @Injectable()
80
- * @ECSSystem('Physics', { updateOrder: 10 })
81
- * class PhysicsSystem extends EntitySystem {
82
- * @InjectProperty(CollisionSystem)
83
- * private collision!: CollisionSystem;
84
- *
85
- * constructor() {
86
- * super(Matcher.empty().all(Transform, RigidBody));
87
- * }
88
- * }
89
- * ```
90
- */
91
- export declare function ECSSystem(typeName: string, metadata?: SystemMetadata): <T extends new (...args: any[]) => EntitySystem>(target: T) => T;
92
- /**
93
- * 获取System的元数据
94
- */
95
- export declare function getSystemMetadata(systemType: new (...args: any[]) => EntitySystem): SystemMetadata | undefined;
96
- /**
97
- * 获取组件类型的名称,优先使用装饰器指定的名称
98
- *
99
- * @param componentType 组件构造函数
100
- * @returns 组件类型名称
101
- */
102
- export declare function getComponentTypeName(componentType: ComponentType): string;
103
- /**
104
- * 获取系统类型的名称,优先使用装饰器指定的名称
105
- *
106
- * @param systemType 系统构造函数
107
- * @returns 系统类型名称
108
- */
109
- export declare function getSystemTypeName<T extends EntitySystem>(systemType: new (...args: any[]) => T): string;
110
- /**
111
- * 从组件实例获取类型名称
112
- *
113
- * @param component 组件实例
114
- * @returns 组件类型名称
115
- */
116
- export declare function getComponentInstanceTypeName(component: Component): string;
117
- /**
118
- * 从系统实例获取类型名称
119
- *
120
- * @param system 系统实例
121
- * @returns 系统类型名称
122
- */
123
- export declare function getSystemInstanceTypeName(system: EntitySystem): string;
124
- //# sourceMappingURL=TypeDecorators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeDecorators.d.ts","sourceRoot":"","sources":["../../../src/ECS/Decorators/TypeDecorators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAA8B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAAkC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kBAAkB;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,IACpD,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,EAAE,QAAQ,CAAC,KAAG,CAAC,CAe9E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,GAAG,SAAS,CAE3F;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,IAChD,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,EAAE,QAAQ,CAAC,KAAG,CAAC,CAejF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,GAAG,cAAc,GAAG,SAAS,CAE9G;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,aAAa,EAAE,aAAa,GAC7B,MAAM,CASR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EACpD,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GACtC,MAAM,CASR;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEtE"}
@@ -1,151 +0,0 @@
1
- /**
2
- * 存储组件类型名称的Symbol键
3
- */
4
- export const COMPONENT_TYPE_NAME = Symbol('ComponentTypeName');
5
- /**
6
- * 存储组件依赖的Symbol键
7
- */
8
- export const COMPONENT_DEPENDENCIES = Symbol('ComponentDependencies');
9
- /**
10
- * 存储系统类型名称的Symbol键
11
- */
12
- export const SYSTEM_TYPE_NAME = Symbol('SystemTypeName');
13
- /**
14
- * 组件类型装饰器
15
- * 用于为组件类指定固定的类型名称,避免在代码混淆后失效
16
- *
17
- * @param typeName 组件类型名称
18
- * @param options 组件配置选项
19
- * @example
20
- * ```typescript
21
- * @ECSComponent('Position')
22
- * class PositionComponent extends Component {
23
- * x: number = 0;
24
- * y: number = 0;
25
- * }
26
- *
27
- * // 带依赖声明
28
- * @ECSComponent('SpriteAnimator', { requires: ['Sprite'] })
29
- * class SpriteAnimatorComponent extends Component {
30
- * // ...
31
- * }
32
- * ```
33
- */
34
- export function ECSComponent(typeName, options) {
35
- return function (target) {
36
- if (!typeName || typeof typeName !== 'string') {
37
- throw new Error('ECSComponent装饰器必须提供有效的类型名称');
38
- }
39
- // 在构造函数上存储类型名称
40
- target[COMPONENT_TYPE_NAME] = typeName;
41
- // 存储依赖关系
42
- if (options?.requires) {
43
- target[COMPONENT_DEPENDENCIES] = options.requires;
44
- }
45
- return target;
46
- };
47
- }
48
- /**
49
- * 获取组件的依赖列表
50
- */
51
- export function getComponentDependencies(componentType) {
52
- return componentType[COMPONENT_DEPENDENCIES];
53
- }
54
- /**
55
- * 系统类型装饰器
56
- * 用于为系统类指定固定的类型名称,避免在代码混淆后失效
57
- *
58
- * @param typeName 系统类型名称
59
- * @param metadata 系统元数据配置
60
- * @example
61
- * ```typescript
62
- * // 基本使用
63
- * @ECSSystem('Movement')
64
- * class MovementSystem extends EntitySystem {
65
- * protected process(entities: Entity[]): void {
66
- * // 系统逻辑
67
- * }
68
- * }
69
- *
70
- * // 配置更新顺序和依赖注入
71
- * @Injectable()
72
- * @ECSSystem('Physics', { updateOrder: 10 })
73
- * class PhysicsSystem extends EntitySystem {
74
- * @InjectProperty(CollisionSystem)
75
- * private collision!: CollisionSystem;
76
- *
77
- * constructor() {
78
- * super(Matcher.empty().all(Transform, RigidBody));
79
- * }
80
- * }
81
- * ```
82
- */
83
- export function ECSSystem(typeName, metadata) {
84
- return function (target) {
85
- if (!typeName || typeof typeName !== 'string') {
86
- throw new Error('ECSSystem装饰器必须提供有效的类型名称');
87
- }
88
- // 在构造函数上存储类型名称
89
- target[SYSTEM_TYPE_NAME] = typeName;
90
- // 存储元数据
91
- if (metadata) {
92
- target.__systemMetadata__ = metadata;
93
- }
94
- return target;
95
- };
96
- }
97
- /**
98
- * 获取System的元数据
99
- */
100
- export function getSystemMetadata(systemType) {
101
- return systemType.__systemMetadata__;
102
- }
103
- /**
104
- * 获取组件类型的名称,优先使用装饰器指定的名称
105
- *
106
- * @param componentType 组件构造函数
107
- * @returns 组件类型名称
108
- */
109
- export function getComponentTypeName(componentType) {
110
- // 优先使用装饰器指定的名称
111
- const decoratorName = componentType[COMPONENT_TYPE_NAME];
112
- if (decoratorName) {
113
- return decoratorName;
114
- }
115
- // 回退到constructor.name
116
- return componentType.name || 'UnknownComponent';
117
- }
118
- /**
119
- * 获取系统类型的名称,优先使用装饰器指定的名称
120
- *
121
- * @param systemType 系统构造函数
122
- * @returns 系统类型名称
123
- */
124
- export function getSystemTypeName(systemType) {
125
- // 优先使用装饰器指定的名称
126
- const decoratorName = systemType[SYSTEM_TYPE_NAME];
127
- if (decoratorName) {
128
- return decoratorName;
129
- }
130
- // 回退到constructor.name
131
- return systemType.name || 'UnknownSystem';
132
- }
133
- /**
134
- * 从组件实例获取类型名称
135
- *
136
- * @param component 组件实例
137
- * @returns 组件类型名称
138
- */
139
- export function getComponentInstanceTypeName(component) {
140
- return getComponentTypeName(component.constructor);
141
- }
142
- /**
143
- * 从系统实例获取类型名称
144
- *
145
- * @param system 系统实例
146
- * @returns 系统类型名称
147
- */
148
- export function getSystemInstanceTypeName(system) {
149
- return getSystemTypeName(system.constructor);
150
- }
151
- //# sourceMappingURL=TypeDecorators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeDecorators.js","sourceRoot":"","sources":["../../../src/ECS/Decorators/TypeDecorators.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAUzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,OAA0B;IACrE,OAAO,UAAuD,MAAS;QACnE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QAED,eAAe;QACd,MAAc,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC;QAEhD,SAAS;QACT,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACnB,MAAc,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAA4B;IACjE,OAAQ,aAAqB,CAAC,sBAAsB,CAAC,CAAC;AAC1D,CAAC;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,QAAyB;IACjE,OAAO,UAA0D,MAAS;QACtE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,eAAe;QACd,MAAc,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;QAE7C,QAAQ;QACR,IAAI,QAAQ,EAAE,CAAC;YACV,MAAc,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAgD;IAC9E,OAAQ,UAAkB,CAAC,kBAAkB,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAChC,aAA4B;IAE5B,eAAe;IACf,MAAM,aAAa,GAAI,aAAqB,CAAC,mBAAmB,CAAC,CAAC;IAClE,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,OAAO,aAAa,CAAC,IAAI,IAAI,kBAAkB,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC7B,UAAqC;IAErC,eAAe;IACf,MAAM,aAAa,GAAI,UAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,OAAO,UAAU,CAAC,IAAI,IAAI,eAAe,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAoB;IAC7D,OAAO,oBAAoB,CAAC,SAAS,CAAC,WAA4B,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAoB;IAC1D,OAAO,iBAAiB,CAAC,MAAM,CAAC,WAAmD,CAAC,CAAC;AACzF,CAAC"}