@esengine/ecs-framework 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/index.cjs +2 -0
  2. package/index.cjs.map +1 -0
  3. package/index.d.ts +13466 -0
  4. package/index.es5.js +4 -0
  5. package/index.es5.js.map +1 -0
  6. package/index.mjs +2 -0
  7. package/index.mjs.map +1 -0
  8. package/index.umd.js +4 -0
  9. package/index.umd.js.map +1 -0
  10. package/package.json +47 -84
  11. package/bin/Core/DI/Decorators.d.ts +0 -206
  12. package/bin/Core/DI/Decorators.d.ts.map +0 -1
  13. package/bin/Core/DI/Decorators.js +0 -253
  14. package/bin/Core/DI/Decorators.js.map +0 -1
  15. package/bin/Core/DI/index.d.ts +0 -8
  16. package/bin/Core/DI/index.d.ts.map +0 -1
  17. package/bin/Core/DI/index.js +0 -7
  18. package/bin/Core/DI/index.js.map +0 -1
  19. package/bin/Core/Plugin.d.ts +0 -112
  20. package/bin/Core/Plugin.d.ts.map +0 -1
  21. package/bin/Core/Plugin.js +0 -19
  22. package/bin/Core/Plugin.js.map +0 -1
  23. package/bin/Core/PluginManager.d.ts +0 -118
  24. package/bin/Core/PluginManager.d.ts.map +0 -1
  25. package/bin/Core/PluginManager.js +0 -229
  26. package/bin/Core/PluginManager.js.map +0 -1
  27. package/bin/Core/ServiceContainer.d.ts +0 -221
  28. package/bin/Core/ServiceContainer.d.ts.map +0 -1
  29. package/bin/Core/ServiceContainer.js +0 -352
  30. package/bin/Core/ServiceContainer.js.map +0 -1
  31. package/bin/Core.d.ts +0 -379
  32. package/bin/Core.d.ts.map +0 -1
  33. package/bin/Core.js +0 -553
  34. package/bin/Core.js.map +0 -1
  35. package/bin/ECS/Component.d.ts +0 -104
  36. package/bin/ECS/Component.d.ts.map +0 -1
  37. package/bin/ECS/Component.js +0 -105
  38. package/bin/ECS/Component.js.map +0 -1
  39. package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
  40. package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
  41. package/bin/ECS/Components/HierarchyComponent.js +0 -65
  42. package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
  43. package/bin/ECS/Components/index.d.ts +0 -2
  44. package/bin/ECS/Components/index.d.ts.map +0 -1
  45. package/bin/ECS/Components/index.js +0 -2
  46. package/bin/ECS/Components/index.js.map +0 -1
  47. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
  48. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  49. package/bin/ECS/Core/ArchetypeSystem.js +0 -244
  50. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  51. package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
  52. package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
  53. package/bin/ECS/Core/CommandBuffer.js +0 -244
  54. package/bin/ECS/Core/CommandBuffer.js.map +0 -1
  55. package/bin/ECS/Core/ComponentPool.d.ts +0 -139
  56. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  57. package/bin/ECS/Core/ComponentPool.js +0 -276
  58. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  59. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
  60. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  61. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
  62. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  63. package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
  64. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  65. package/bin/ECS/Core/ComponentStorage.js +0 -321
  66. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  67. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
  68. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
  69. package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
  70. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
  71. package/bin/ECS/Core/EventBus.d.ts +0 -210
  72. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  73. package/bin/ECS/Core/EventBus.js +0 -370
  74. package/bin/ECS/Core/EventBus.js.map +0 -1
  75. package/bin/ECS/Core/EventSystem.d.ts +0 -225
  76. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  77. package/bin/ECS/Core/EventSystem.js +0 -448
  78. package/bin/ECS/Core/EventSystem.js.map +0 -1
  79. package/bin/ECS/Core/Events/index.d.ts +0 -3
  80. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  81. package/bin/ECS/Core/Events/index.js +0 -3
  82. package/bin/ECS/Core/Events/index.js.map +0 -1
  83. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  84. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  85. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  86. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  87. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  88. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  89. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  90. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  91. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  92. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  93. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  94. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  95. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  96. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  97. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
  98. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  99. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  100. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  101. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  102. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  103. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  104. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  105. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  106. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  107. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  108. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  109. package/bin/ECS/Core/FluentAPI.js +0 -3
  110. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  111. package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
  112. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
  113. package/bin/ECS/Core/Query/TypedQuery.js +0 -294
  114. package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
  115. package/bin/ECS/Core/Query/index.d.ts +0 -3
  116. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  117. package/bin/ECS/Core/Query/index.js +0 -3
  118. package/bin/ECS/Core/Query/index.js.map +0 -1
  119. package/bin/ECS/Core/QuerySystem.d.ts +0 -458
  120. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  121. package/bin/ECS/Core/QuerySystem.js +0 -1069
  122. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  123. package/bin/ECS/Core/QueryTypes.d.ts +0 -34
  124. package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
  125. package/bin/ECS/Core/QueryTypes.js +0 -13
  126. package/bin/ECS/Core/QueryTypes.js.map +0 -1
  127. package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
  128. package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
  129. package/bin/ECS/Core/ReactiveQuery.js +0 -401
  130. package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
  131. package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
  132. package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
  133. package/bin/ECS/Core/ReferenceTracker.js +0 -254
  134. package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
  135. package/bin/ECS/Core/SoASerializer.d.ts +0 -28
  136. package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
  137. package/bin/ECS/Core/SoASerializer.js +0 -85
  138. package/bin/ECS/Core/SoASerializer.js.map +0 -1
  139. package/bin/ECS/Core/SoAStorage.d.ts +0 -129
  140. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  141. package/bin/ECS/Core/SoAStorage.js +0 -685
  142. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  143. package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
  144. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
  145. package/bin/ECS/Core/SoATypeRegistry.js +0 -135
  146. package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
  147. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  148. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  149. package/bin/ECS/Core/Storage/index.js +0 -4
  150. package/bin/ECS/Core/Storage/index.js.map +0 -1
  151. package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
  152. package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
  153. package/bin/ECS/Core/StorageDecorators.js +0 -27
  154. package/bin/ECS/Core/StorageDecorators.js.map +0 -1
  155. package/bin/ECS/CoreEvents.d.ts +0 -131
  156. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  157. package/bin/ECS/CoreEvents.js +0 -163
  158. package/bin/ECS/CoreEvents.js.map +0 -1
  159. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
  160. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
  161. package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
  162. package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
  163. package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
  164. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
  165. package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
  166. package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
  167. package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
  168. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
  169. package/bin/ECS/Decorators/TypeDecorators.js +0 -151
  170. package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
  171. package/bin/ECS/Decorators/index.d.ts +0 -7
  172. package/bin/ECS/Decorators/index.d.ts.map +0 -1
  173. package/bin/ECS/Decorators/index.js +0 -4
  174. package/bin/ECS/Decorators/index.js.map +0 -1
  175. package/bin/ECS/Entity.d.ts +0 -415
  176. package/bin/ECS/Entity.d.ts.map +0 -1
  177. package/bin/ECS/Entity.js +0 -683
  178. package/bin/ECS/Entity.js.map +0 -1
  179. package/bin/ECS/EntityTags.d.ts +0 -71
  180. package/bin/ECS/EntityTags.d.ts.map +0 -1
  181. package/bin/ECS/EntityTags.js +0 -82
  182. package/bin/ECS/EntityTags.js.map +0 -1
  183. package/bin/ECS/IScene.d.ts +0 -308
  184. package/bin/ECS/IScene.d.ts.map +0 -1
  185. package/bin/ECS/IScene.js +0 -2
  186. package/bin/ECS/IScene.js.map +0 -1
  187. package/bin/ECS/Scene.d.ts +0 -799
  188. package/bin/ECS/Scene.d.ts.map +0 -1
  189. package/bin/ECS/Scene.js +0 -1203
  190. package/bin/ECS/Scene.js.map +0 -1
  191. package/bin/ECS/SceneManager.d.ts +0 -197
  192. package/bin/ECS/SceneManager.d.ts.map +0 -1
  193. package/bin/ECS/SceneManager.js +0 -264
  194. package/bin/ECS/SceneManager.js.map +0 -1
  195. package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
  196. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
  197. package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
  198. package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
  199. package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
  200. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
  201. package/bin/ECS/Serialization/EntitySerializer.js +0 -155
  202. package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
  203. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
  204. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
  205. package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
  206. package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
  207. package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
  208. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
  209. package/bin/ECS/Serialization/SceneSerializer.js +0 -387
  210. package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
  211. package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
  212. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
  213. package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
  214. package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
  215. package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
  216. package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
  217. package/bin/ECS/Serialization/VersionMigration.js +0 -279
  218. package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
  219. package/bin/ECS/Serialization/index.d.ts +0 -18
  220. package/bin/ECS/Serialization/index.d.ts.map +0 -1
  221. package/bin/ECS/Serialization/index.js +0 -18
  222. package/bin/ECS/Serialization/index.js.map +0 -1
  223. package/bin/ECS/Systems/EntityCache.d.ts +0 -114
  224. package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
  225. package/bin/ECS/Systems/EntityCache.js +0 -145
  226. package/bin/ECS/Systems/EntityCache.js.map +0 -1
  227. package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
  228. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  229. package/bin/ECS/Systems/EntitySystem.js +0 -1102
  230. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  231. package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
  232. package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
  233. package/bin/ECS/Systems/HierarchySystem.js +0 -498
  234. package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
  235. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  236. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  237. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  238. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  239. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  240. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  241. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  242. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  243. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  244. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  245. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  246. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  247. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
  248. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
  249. package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
  250. package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
  251. package/bin/ECS/Systems/index.d.ts +0 -8
  252. package/bin/ECS/Systems/index.d.ts.map +0 -1
  253. package/bin/ECS/Systems/index.js +0 -8
  254. package/bin/ECS/Systems/index.js.map +0 -1
  255. package/bin/ECS/TypedEntity.d.ts +0 -192
  256. package/bin/ECS/TypedEntity.d.ts.map +0 -1
  257. package/bin/ECS/TypedEntity.js +0 -254
  258. package/bin/ECS/TypedEntity.js.map +0 -1
  259. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
  260. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  261. package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
  262. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  263. package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
  264. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
  265. package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
  266. package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
  267. package/bin/ECS/Utils/Bits.d.ts +0 -154
  268. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  269. package/bin/ECS/Utils/Bits.js +0 -331
  270. package/bin/ECS/Utils/Bits.js.map +0 -1
  271. package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
  272. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
  273. package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
  274. package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
  275. package/bin/ECS/Utils/EntityList.d.ts +0 -115
  276. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  277. package/bin/ECS/Utils/EntityList.js +0 -258
  278. package/bin/ECS/Utils/EntityList.js.map +0 -1
  279. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  280. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  281. package/bin/ECS/Utils/EntityProcessorList.js +0 -113
  282. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  283. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  284. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  285. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  286. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  287. package/bin/ECS/Utils/Matcher.d.ts +0 -171
  288. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  289. package/bin/ECS/Utils/Matcher.js +0 -293
  290. package/bin/ECS/Utils/Matcher.js.map +0 -1
  291. package/bin/ECS/Utils/SparseSet.d.ts +0 -170
  292. package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
  293. package/bin/ECS/Utils/SparseSet.js +0 -280
  294. package/bin/ECS/Utils/SparseSet.js.map +0 -1
  295. package/bin/ECS/Utils/index.d.ts +0 -9
  296. package/bin/ECS/Utils/index.d.ts.map +0 -1
  297. package/bin/ECS/Utils/index.js +0 -10
  298. package/bin/ECS/Utils/index.js.map +0 -1
  299. package/bin/ECS/World.d.ts +0 -238
  300. package/bin/ECS/World.d.ts.map +0 -1
  301. package/bin/ECS/World.js +0 -416
  302. package/bin/ECS/World.js.map +0 -1
  303. package/bin/ECS/WorldManager.d.ts +0 -224
  304. package/bin/ECS/WorldManager.d.ts.map +0 -1
  305. package/bin/ECS/WorldManager.js +0 -365
  306. package/bin/ECS/WorldManager.js.map +0 -1
  307. package/bin/ECS/index.d.ts +0 -26
  308. package/bin/ECS/index.d.ts.map +0 -1
  309. package/bin/ECS/index.js +0 -21
  310. package/bin/ECS/index.js.map +0 -1
  311. package/bin/Platform/IPlatformAdapter.d.ts +0 -169
  312. package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
  313. package/bin/Platform/IPlatformAdapter.js +0 -2
  314. package/bin/Platform/IPlatformAdapter.js.map +0 -1
  315. package/bin/Platform/PlatformDetector.d.ts +0 -56
  316. package/bin/Platform/PlatformDetector.d.ts.map +0 -1
  317. package/bin/Platform/PlatformDetector.js +0 -247
  318. package/bin/Platform/PlatformDetector.js.map +0 -1
  319. package/bin/Platform/PlatformManager.d.ts +0 -50
  320. package/bin/Platform/PlatformManager.d.ts.map +0 -1
  321. package/bin/Platform/PlatformManager.js +0 -114
  322. package/bin/Platform/PlatformManager.js.map +0 -1
  323. package/bin/Platform/index.d.ts +0 -19
  324. package/bin/Platform/index.d.ts.map +0 -1
  325. package/bin/Platform/index.js +0 -29
  326. package/bin/Platform/index.js.map +0 -1
  327. package/bin/Plugins/DebugPlugin.d.ts +0 -156
  328. package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
  329. package/bin/Plugins/DebugPlugin.js +0 -248
  330. package/bin/Plugins/DebugPlugin.js.map +0 -1
  331. package/bin/Plugins/index.d.ts +0 -2
  332. package/bin/Plugins/index.d.ts.map +0 -1
  333. package/bin/Plugins/index.js +0 -2
  334. package/bin/Plugins/index.js.map +0 -1
  335. package/bin/Types/IUpdatable.d.ts +0 -18
  336. package/bin/Types/IUpdatable.d.ts.map +0 -1
  337. package/bin/Types/IUpdatable.js +0 -7
  338. package/bin/Types/IUpdatable.js.map +0 -1
  339. package/bin/Types/TypeHelpers.d.ts +0 -238
  340. package/bin/Types/TypeHelpers.d.ts.map +0 -1
  341. package/bin/Types/TypeHelpers.js +0 -19
  342. package/bin/Types/TypeHelpers.js.map +0 -1
  343. package/bin/Types/index.d.ts +0 -466
  344. package/bin/Types/index.d.ts.map +0 -1
  345. package/bin/Types/index.js +0 -7
  346. package/bin/Types/index.js.map +0 -1
  347. package/bin/Utils/BinarySerializer.d.ts +0 -23
  348. package/bin/Utils/BinarySerializer.d.ts.map +0 -1
  349. package/bin/Utils/BinarySerializer.js +0 -100
  350. package/bin/Utils/BinarySerializer.js.map +0 -1
  351. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
  352. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
  353. package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
  354. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
  355. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
  356. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  357. package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
  358. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  359. package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
  360. package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
  361. package/bin/Utils/Debug/DebugConfigService.js +0 -42
  362. package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
  363. package/bin/Utils/Debug/DebugManager.d.ts +0 -131
  364. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  365. package/bin/Utils/Debug/DebugManager.js +0 -848
  366. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  367. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
  368. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  369. package/bin/Utils/Debug/EntityDataCollector.js +0 -870
  370. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  371. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
  372. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  373. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
  374. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  375. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
  376. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  377. package/bin/Utils/Debug/SceneDataCollector.js +0 -43
  378. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  379. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
  380. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  381. package/bin/Utils/Debug/SystemDataCollector.js +0 -60
  382. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  383. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
  384. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  385. package/bin/Utils/Debug/WebSocketManager.js +0 -141
  386. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  387. package/bin/Utils/Debug/index.d.ts +0 -11
  388. package/bin/Utils/Debug/index.d.ts.map +0 -1
  389. package/bin/Utils/Debug/index.js +0 -10
  390. package/bin/Utils/Debug/index.js.map +0 -1
  391. package/bin/Utils/Emitter.d.ts +0 -61
  392. package/bin/Utils/Emitter.d.ts.map +0 -1
  393. package/bin/Utils/Emitter.js +0 -101
  394. package/bin/Utils/Emitter.js.map +0 -1
  395. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  396. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  397. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  398. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  399. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  400. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  401. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  402. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  403. package/bin/Utils/Extensions/index.d.ts +0 -3
  404. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  405. package/bin/Utils/Extensions/index.js +0 -4
  406. package/bin/Utils/Extensions/index.js.map +0 -1
  407. package/bin/Utils/GlobalManager.d.ts +0 -29
  408. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  409. package/bin/Utils/GlobalManager.js +0 -50
  410. package/bin/Utils/GlobalManager.js.map +0 -1
  411. package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
  412. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
  413. package/bin/Utils/Logger/ConsoleLogger.js +0 -187
  414. package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
  415. package/bin/Utils/Logger/Constants.d.ts +0 -36
  416. package/bin/Utils/Logger/Constants.d.ts.map +0 -1
  417. package/bin/Utils/Logger/Constants.js +0 -40
  418. package/bin/Utils/Logger/Constants.js.map +0 -1
  419. package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
  420. package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
  421. package/bin/Utils/Logger/LoggerManager.js +0 -167
  422. package/bin/Utils/Logger/LoggerManager.js.map +0 -1
  423. package/bin/Utils/Logger/Types.d.ts +0 -40
  424. package/bin/Utils/Logger/Types.d.ts.map +0 -1
  425. package/bin/Utils/Logger/Types.js +0 -2
  426. package/bin/Utils/Logger/Types.js.map +0 -1
  427. package/bin/Utils/Logger/index.d.ts +0 -5
  428. package/bin/Utils/Logger/index.d.ts.map +0 -1
  429. package/bin/Utils/Logger/index.js +0 -5
  430. package/bin/Utils/Logger/index.js.map +0 -1
  431. package/bin/Utils/PerformanceMonitor.d.ts +0 -196
  432. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  433. package/bin/Utils/PerformanceMonitor.js +0 -244
  434. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  435. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  436. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  437. package/bin/Utils/Pool/IPoolable.js +0 -2
  438. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  439. package/bin/Utils/Pool/Pool.d.ts +0 -109
  440. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  441. package/bin/Utils/Pool/Pool.js +0 -238
  442. package/bin/Utils/Pool/Pool.js.map +0 -1
  443. package/bin/Utils/Pool/PoolManager.d.ts +0 -96
  444. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  445. package/bin/Utils/Pool/PoolManager.js +0 -199
  446. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  447. package/bin/Utils/Pool/index.d.ts +0 -4
  448. package/bin/Utils/Pool/index.d.ts.map +0 -1
  449. package/bin/Utils/Pool/index.js +0 -4
  450. package/bin/Utils/Pool/index.js.map +0 -1
  451. package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
  452. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
  453. package/bin/Utils/Profiler/AutoProfiler.js +0 -503
  454. package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
  455. package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
  456. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
  457. package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
  458. package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
  459. package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
  460. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
  461. package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
  462. package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
  463. package/bin/Utils/Profiler/index.d.ts +0 -8
  464. package/bin/Utils/Profiler/index.d.ts.map +0 -1
  465. package/bin/Utils/Profiler/index.js +0 -7
  466. package/bin/Utils/Profiler/index.js.map +0 -1
  467. package/bin/Utils/Time.d.ts +0 -47
  468. package/bin/Utils/Time.d.ts.map +0 -1
  469. package/bin/Utils/Time.js +0 -64
  470. package/bin/Utils/Time.js.map +0 -1
  471. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  472. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  473. package/bin/Utils/Timers/ITimer.js +0 -2
  474. package/bin/Utils/Timers/ITimer.js.map +0 -1
  475. package/bin/Utils/Timers/Timer.d.ts +0 -30
  476. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  477. package/bin/Utils/Timers/Timer.js +0 -58
  478. package/bin/Utils/Timers/Timer.js.map +0 -1
  479. package/bin/Utils/Timers/TimerManager.d.ts +0 -26
  480. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  481. package/bin/Utils/Timers/TimerManager.js +0 -48
  482. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  483. package/bin/Utils/index.d.ts +0 -11
  484. package/bin/Utils/index.d.ts.map +0 -1
  485. package/bin/Utils/index.js +0 -11
  486. package/bin/Utils/index.js.map +0 -1
  487. package/bin/index.d.ts +0 -29
  488. package/bin/index.d.ts.map +0 -1
  489. package/bin/index.js +0 -36
  490. package/bin/index.js.map +0 -1
@@ -1,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"}