@esengine/ecs-framework 2.1.29 → 2.1.30

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 (290) hide show
  1. package/bin/Core.d.ts +279 -0
  2. package/bin/Core.d.ts.map +1 -0
  3. package/bin/Core.js +400 -0
  4. package/bin/Core.js.map +1 -0
  5. package/bin/ECS/Component.d.ts +120 -0
  6. package/bin/ECS/Component.d.ts.map +1 -0
  7. package/bin/ECS/Component.js +129 -0
  8. package/bin/ECS/Component.js.map +1 -0
  9. package/bin/ECS/Components/IUpdatable.d.ts +22 -0
  10. package/bin/ECS/Components/IUpdatable.d.ts.map +1 -0
  11. package/bin/ECS/Components/IUpdatable.js +17 -0
  12. package/bin/ECS/Components/IUpdatable.js.map +1 -0
  13. package/bin/ECS/Components/SceneComponent.d.ts +40 -0
  14. package/bin/ECS/Components/SceneComponent.d.ts.map +1 -0
  15. package/bin/ECS/Components/SceneComponent.js +57 -0
  16. package/bin/ECS/Components/SceneComponent.js.map +1 -0
  17. package/bin/ECS/Core/ArchetypeSystem.d.ts +100 -0
  18. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +1 -0
  19. package/bin/ECS/Core/ArchetypeSystem.js +193 -0
  20. package/bin/ECS/Core/ArchetypeSystem.js.map +1 -0
  21. package/bin/ECS/Core/ComponentIndex.d.ts +151 -0
  22. package/bin/ECS/Core/ComponentIndex.d.ts.map +1 -0
  23. package/bin/ECS/Core/ComponentIndex.js +405 -0
  24. package/bin/ECS/Core/ComponentIndex.js.map +1 -0
  25. package/bin/ECS/Core/ComponentPool.d.ts +88 -0
  26. package/bin/ECS/Core/ComponentPool.d.ts.map +1 -0
  27. package/bin/ECS/Core/ComponentPool.js +159 -0
  28. package/bin/ECS/Core/ComponentPool.js.map +1 -0
  29. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +92 -0
  30. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +1 -0
  31. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +167 -0
  32. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +1 -0
  33. package/bin/ECS/Core/ComponentStorage.d.ts +233 -0
  34. package/bin/ECS/Core/ComponentStorage.d.ts.map +1 -0
  35. package/bin/ECS/Core/ComponentStorage.js +463 -0
  36. package/bin/ECS/Core/ComponentStorage.js.map +1 -0
  37. package/bin/ECS/Core/DirtyTrackingSystem.d.ts +197 -0
  38. package/bin/ECS/Core/DirtyTrackingSystem.d.ts.map +1 -0
  39. package/bin/ECS/Core/DirtyTrackingSystem.js +297 -0
  40. package/bin/ECS/Core/DirtyTrackingSystem.js.map +1 -0
  41. package/bin/ECS/Core/EntityManager.d.ts +379 -0
  42. package/bin/ECS/Core/EntityManager.d.ts.map +1 -0
  43. package/bin/ECS/Core/EntityManager.js +686 -0
  44. package/bin/ECS/Core/EntityManager.js.map +1 -0
  45. package/bin/ECS/Core/EventBus.d.ts +218 -0
  46. package/bin/ECS/Core/EventBus.d.ts.map +1 -0
  47. package/bin/ECS/Core/EventBus.js +402 -0
  48. package/bin/ECS/Core/EventBus.js.map +1 -0
  49. package/bin/ECS/Core/EventSystem.d.ts +237 -0
  50. package/bin/ECS/Core/EventSystem.d.ts.map +1 -0
  51. package/bin/ECS/Core/EventSystem.js +478 -0
  52. package/bin/ECS/Core/EventSystem.js.map +1 -0
  53. package/bin/ECS/Core/Events/index.d.ts +3 -0
  54. package/bin/ECS/Core/Events/index.d.ts.map +1 -0
  55. package/bin/ECS/Core/Events/index.js +3 -0
  56. package/bin/ECS/Core/Events/index.js.map +1 -0
  57. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +35 -0
  58. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +1 -0
  59. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +48 -0
  60. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +1 -0
  61. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +135 -0
  62. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +1 -0
  63. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +166 -0
  64. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +1 -0
  65. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +58 -0
  66. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +1 -0
  67. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +85 -0
  68. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +1 -0
  69. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +110 -0
  70. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +1 -0
  71. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +174 -0
  72. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +1 -0
  73. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +53 -0
  74. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +1 -0
  75. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +79 -0
  76. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +1 -0
  77. package/bin/ECS/Core/FluentAPI/index.d.ts +6 -0
  78. package/bin/ECS/Core/FluentAPI/index.d.ts.map +1 -0
  79. package/bin/ECS/Core/FluentAPI/index.js +6 -0
  80. package/bin/ECS/Core/FluentAPI/index.js.map +1 -0
  81. package/bin/ECS/Core/FluentAPI.d.ts +2 -0
  82. package/bin/ECS/Core/FluentAPI.d.ts.map +1 -0
  83. package/bin/ECS/Core/FluentAPI.js +3 -0
  84. package/bin/ECS/Core/FluentAPI.js.map +1 -0
  85. package/bin/ECS/Core/Performance/index.d.ts +4 -0
  86. package/bin/ECS/Core/Performance/index.d.ts.map +1 -0
  87. package/bin/ECS/Core/Performance/index.js +4 -0
  88. package/bin/ECS/Core/Performance/index.js.map +1 -0
  89. package/bin/ECS/Core/Query/index.d.ts +4 -0
  90. package/bin/ECS/Core/Query/index.d.ts.map +1 -0
  91. package/bin/ECS/Core/Query/index.js +4 -0
  92. package/bin/ECS/Core/Query/index.js.map +1 -0
  93. package/bin/ECS/Core/QuerySystem.d.ts +438 -0
  94. package/bin/ECS/Core/QuerySystem.d.ts.map +1 -0
  95. package/bin/ECS/Core/QuerySystem.js +974 -0
  96. package/bin/ECS/Core/QuerySystem.js.map +1 -0
  97. package/bin/ECS/Core/SoAStorage.d.ts +97 -0
  98. package/bin/ECS/Core/SoAStorage.d.ts.map +1 -0
  99. package/bin/ECS/Core/SoAStorage.js +548 -0
  100. package/bin/ECS/Core/SoAStorage.js.map +1 -0
  101. package/bin/ECS/Core/Storage/index.d.ts +4 -0
  102. package/bin/ECS/Core/Storage/index.d.ts.map +1 -0
  103. package/bin/ECS/Core/Storage/index.js +4 -0
  104. package/bin/ECS/Core/Storage/index.js.map +1 -0
  105. package/bin/ECS/CoreEvents.d.ts +131 -0
  106. package/bin/ECS/CoreEvents.d.ts.map +1 -0
  107. package/bin/ECS/CoreEvents.js +163 -0
  108. package/bin/ECS/CoreEvents.js.map +1 -0
  109. package/bin/ECS/Entity.d.ts +455 -0
  110. package/bin/ECS/Entity.d.ts.map +1 -0
  111. package/bin/ECS/Entity.js +837 -0
  112. package/bin/ECS/Entity.js.map +1 -0
  113. package/bin/ECS/Scene.d.ts +225 -0
  114. package/bin/ECS/Scene.d.ts.map +1 -0
  115. package/bin/ECS/Scene.js +325 -0
  116. package/bin/ECS/Scene.js.map +1 -0
  117. package/bin/ECS/Systems/EntitySystem.d.ts +200 -0
  118. package/bin/ECS/Systems/EntitySystem.d.ts.map +1 -0
  119. package/bin/ECS/Systems/EntitySystem.js +431 -0
  120. package/bin/ECS/Systems/EntitySystem.js.map +1 -0
  121. package/bin/ECS/Systems/IntervalSystem.d.ts +33 -0
  122. package/bin/ECS/Systems/IntervalSystem.d.ts.map +1 -0
  123. package/bin/ECS/Systems/IntervalSystem.js +50 -0
  124. package/bin/ECS/Systems/IntervalSystem.js.map +1 -0
  125. package/bin/ECS/Systems/PassiveSystem.d.ts +17 -0
  126. package/bin/ECS/Systems/PassiveSystem.d.ts.map +1 -0
  127. package/bin/ECS/Systems/PassiveSystem.js +19 -0
  128. package/bin/ECS/Systems/PassiveSystem.js.map +1 -0
  129. package/bin/ECS/Systems/ProcessingSystem.d.ts +21 -0
  130. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +1 -0
  131. package/bin/ECS/Systems/ProcessingSystem.js +20 -0
  132. package/bin/ECS/Systems/ProcessingSystem.js.map +1 -0
  133. package/bin/ECS/Systems/index.d.ts +5 -0
  134. package/bin/ECS/Systems/index.d.ts.map +1 -0
  135. package/bin/ECS/Systems/index.js +6 -0
  136. package/bin/ECS/Systems/index.js.map +1 -0
  137. package/bin/ECS/Utils/BigIntCompatibility.d.ts +164 -0
  138. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +1 -0
  139. package/bin/ECS/Utils/BigIntCompatibility.js +578 -0
  140. package/bin/ECS/Utils/BigIntCompatibility.js.map +1 -0
  141. package/bin/ECS/Utils/Bits.d.ts +163 -0
  142. package/bin/ECS/Utils/Bits.d.ts.map +1 -0
  143. package/bin/ECS/Utils/Bits.js +286 -0
  144. package/bin/ECS/Utils/Bits.js.map +1 -0
  145. package/bin/ECS/Utils/ComponentTypeManager.d.ts +50 -0
  146. package/bin/ECS/Utils/ComponentTypeManager.d.ts.map +1 -0
  147. package/bin/ECS/Utils/ComponentTypeManager.js +84 -0
  148. package/bin/ECS/Utils/ComponentTypeManager.js.map +1 -0
  149. package/bin/ECS/Utils/EntityList.d.ts +108 -0
  150. package/bin/ECS/Utils/EntityList.d.ts.map +1 -0
  151. package/bin/ECS/Utils/EntityList.js +262 -0
  152. package/bin/ECS/Utils/EntityList.js.map +1 -0
  153. package/bin/ECS/Utils/EntityProcessorList.d.ts +56 -0
  154. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +1 -0
  155. package/bin/ECS/Utils/EntityProcessorList.js +102 -0
  156. package/bin/ECS/Utils/EntityProcessorList.js.map +1 -0
  157. package/bin/ECS/Utils/IdentifierPool.d.ts +203 -0
  158. package/bin/ECS/Utils/IdentifierPool.d.ts.map +1 -0
  159. package/bin/ECS/Utils/IdentifierPool.js +325 -0
  160. package/bin/ECS/Utils/IdentifierPool.js.map +1 -0
  161. package/bin/ECS/Utils/Matcher.d.ts +143 -0
  162. package/bin/ECS/Utils/Matcher.d.ts.map +1 -0
  163. package/bin/ECS/Utils/Matcher.js +249 -0
  164. package/bin/ECS/Utils/Matcher.js.map +1 -0
  165. package/bin/ECS/Utils/index.d.ts +8 -0
  166. package/bin/ECS/Utils/index.d.ts.map +1 -0
  167. package/bin/ECS/Utils/index.js +9 -0
  168. package/bin/ECS/Utils/index.js.map +1 -0
  169. package/bin/ECS/index.d.ts +12 -0
  170. package/bin/ECS/index.d.ts.map +1 -0
  171. package/bin/ECS/index.js +12 -0
  172. package/bin/ECS/index.js.map +1 -0
  173. package/bin/Types/index.d.ts +471 -0
  174. package/bin/Types/index.d.ts.map +1 -0
  175. package/bin/Types/index.js +5 -0
  176. package/bin/Types/index.js.map +1 -0
  177. package/bin/Utils/Debug/ComponentDataCollector.d.ts +28 -0
  178. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +1 -0
  179. package/bin/Utils/Debug/ComponentDataCollector.js +248 -0
  180. package/bin/Utils/Debug/ComponentDataCollector.js.map +1 -0
  181. package/bin/Utils/Debug/DebugDataFormatter.d.ts +22 -0
  182. package/bin/Utils/Debug/DebugDataFormatter.d.ts.map +1 -0
  183. package/bin/Utils/Debug/DebugDataFormatter.js +117 -0
  184. package/bin/Utils/Debug/DebugDataFormatter.js.map +1 -0
  185. package/bin/Utils/Debug/DebugManager.d.ts +104 -0
  186. package/bin/Utils/Debug/DebugManager.d.ts.map +1 -0
  187. package/bin/Utils/Debug/DebugManager.js +647 -0
  188. package/bin/Utils/Debug/DebugManager.js.map +1 -0
  189. package/bin/Utils/Debug/EntityDataCollector.d.ts +92 -0
  190. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +1 -0
  191. package/bin/Utils/Debug/EntityDataCollector.js +864 -0
  192. package/bin/Utils/Debug/EntityDataCollector.js.map +1 -0
  193. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +32 -0
  194. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +1 -0
  195. package/bin/Utils/Debug/PerformanceDataCollector.js +217 -0
  196. package/bin/Utils/Debug/PerformanceDataCollector.js.map +1 -0
  197. package/bin/Utils/Debug/SceneDataCollector.d.ts +16 -0
  198. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +1 -0
  199. package/bin/Utils/Debug/SceneDataCollector.js +46 -0
  200. package/bin/Utils/Debug/SceneDataCollector.js.map +1 -0
  201. package/bin/Utils/Debug/SystemDataCollector.d.ts +11 -0
  202. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +1 -0
  203. package/bin/Utils/Debug/SystemDataCollector.js +59 -0
  204. package/bin/Utils/Debug/SystemDataCollector.js.map +1 -0
  205. package/bin/Utils/Debug/WebSocketManager.d.ts +59 -0
  206. package/bin/Utils/Debug/WebSocketManager.d.ts.map +1 -0
  207. package/bin/Utils/Debug/WebSocketManager.js +148 -0
  208. package/bin/Utils/Debug/WebSocketManager.js.map +1 -0
  209. package/bin/Utils/Debug/index.d.ts +8 -0
  210. package/bin/Utils/Debug/index.d.ts.map +1 -0
  211. package/bin/Utils/Debug/index.js +8 -0
  212. package/bin/Utils/Debug/index.js.map +1 -0
  213. package/bin/Utils/Emitter.d.ts +43 -0
  214. package/bin/Utils/Emitter.d.ts.map +1 -0
  215. package/bin/Utils/Emitter.js +69 -0
  216. package/bin/Utils/Emitter.js.map +1 -0
  217. package/bin/Utils/Extensions/NumberExtension.d.ts +13 -0
  218. package/bin/Utils/Extensions/NumberExtension.d.ts.map +1 -0
  219. package/bin/Utils/Extensions/NumberExtension.js +17 -0
  220. package/bin/Utils/Extensions/NumberExtension.js.map +1 -0
  221. package/bin/Utils/Extensions/TypeUtils.d.ts +13 -0
  222. package/bin/Utils/Extensions/TypeUtils.d.ts.map +1 -0
  223. package/bin/Utils/Extensions/TypeUtils.js +15 -0
  224. package/bin/Utils/Extensions/TypeUtils.js.map +1 -0
  225. package/bin/Utils/Extensions/index.d.ts +3 -0
  226. package/bin/Utils/Extensions/index.d.ts.map +1 -0
  227. package/bin/Utils/Extensions/index.js +4 -0
  228. package/bin/Utils/Extensions/index.js.map +1 -0
  229. package/bin/Utils/GlobalManager.d.ts +32 -0
  230. package/bin/Utils/GlobalManager.d.ts.map +1 -0
  231. package/bin/Utils/GlobalManager.js +53 -0
  232. package/bin/Utils/GlobalManager.js.map +1 -0
  233. package/bin/Utils/Logger.d.ts +156 -0
  234. package/bin/Utils/Logger.d.ts.map +1 -0
  235. package/bin/Utils/Logger.js +256 -0
  236. package/bin/Utils/Logger.js.map +1 -0
  237. package/bin/Utils/PerformanceMonitor.d.ts +211 -0
  238. package/bin/Utils/PerformanceMonitor.d.ts.map +1 -0
  239. package/bin/Utils/PerformanceMonitor.js +270 -0
  240. package/bin/Utils/PerformanceMonitor.js.map +1 -0
  241. package/bin/Utils/Pool/IPoolable.d.ts +29 -0
  242. package/bin/Utils/Pool/IPoolable.d.ts.map +1 -0
  243. package/bin/Utils/Pool/IPoolable.js +2 -0
  244. package/bin/Utils/Pool/IPoolable.js.map +1 -0
  245. package/bin/Utils/Pool/Pool.d.ts +109 -0
  246. package/bin/Utils/Pool/Pool.d.ts.map +1 -0
  247. package/bin/Utils/Pool/Pool.js +238 -0
  248. package/bin/Utils/Pool/Pool.js.map +1 -0
  249. package/bin/Utils/Pool/PoolManager.d.ts +91 -0
  250. package/bin/Utils/Pool/PoolManager.d.ts.map +1 -0
  251. package/bin/Utils/Pool/PoolManager.js +197 -0
  252. package/bin/Utils/Pool/PoolManager.js.map +1 -0
  253. package/bin/Utils/Pool/index.d.ts +4 -0
  254. package/bin/Utils/Pool/index.d.ts.map +1 -0
  255. package/bin/Utils/Pool/index.js +4 -0
  256. package/bin/Utils/Pool/index.js.map +1 -0
  257. package/bin/Utils/Time.d.ts +47 -0
  258. package/bin/Utils/Time.d.ts.map +1 -0
  259. package/bin/Utils/Time.js +64 -0
  260. package/bin/Utils/Time.js.map +1 -0
  261. package/bin/Utils/Timers/ITimer.d.ts +16 -0
  262. package/bin/Utils/Timers/ITimer.d.ts.map +1 -0
  263. package/bin/Utils/Timers/ITimer.js +2 -0
  264. package/bin/Utils/Timers/ITimer.js.map +1 -0
  265. package/bin/Utils/Timers/Timer.d.ts +30 -0
  266. package/bin/Utils/Timers/Timer.d.ts.map +1 -0
  267. package/bin/Utils/Timers/Timer.js +58 -0
  268. package/bin/Utils/Timers/Timer.js.map +1 -0
  269. package/bin/Utils/Timers/TimerManager.d.ts +19 -0
  270. package/bin/Utils/Timers/TimerManager.d.ts.map +1 -0
  271. package/bin/Utils/Timers/TimerManager.js +33 -0
  272. package/bin/Utils/Timers/TimerManager.js.map +1 -0
  273. package/bin/Utils/index.d.ts +9 -0
  274. package/bin/Utils/index.d.ts.map +1 -0
  275. package/bin/Utils/index.js +9 -0
  276. package/bin/Utils/index.js.map +1 -0
  277. package/bin/index.d.ts +16 -0
  278. package/bin/index.d.ts.map +1 -0
  279. package/bin/index.js +19 -0
  280. package/bin/index.js.map +1 -0
  281. package/package.json +52 -25
  282. package/.npmignore +0 -40
  283. package/LICENSE +0 -201
  284. package/README.md +0 -465
  285. package/SECURITY.md +0 -53
  286. package/index.cjs +0 -2
  287. package/index.cjs.map +0 -1
  288. package/index.d.ts +0 -6562
  289. package/index.mjs +0 -2
  290. package/index.mjs.map +0 -1
@@ -0,0 +1,50 @@
1
+ import { EntitySystem } from './EntitySystem';
2
+ import { Time } from '../../Utils/Time';
3
+ /**
4
+ * 间隔系统抽象类
5
+ * 定义一个按时间间隔处理的抽象类,继承自EntitySystem类
6
+ * 子类需要实现process方法,用于实现具体的处理逻辑
7
+ */
8
+ export class IntervalSystem extends EntitySystem {
9
+ /**
10
+ * 构造函数,初始化时间间隔
11
+ * @param interval 时间间隔
12
+ * @param matcher 实体匹配器
13
+ */
14
+ constructor(interval, matcher) {
15
+ super(matcher);
16
+ /** 累积增量以跟踪间隔 */
17
+ this.acc = 0;
18
+ /** 时间间隔的余数,用于计算下一次需要等待的时间 */
19
+ this.intervalRemainder = 0;
20
+ this.interval = interval;
21
+ }
22
+ /**
23
+ * 判断是否需要进行处理
24
+ * 如果需要进行处理,则更新累积增量和时间间隔余数,返回true
25
+ * 否则返回false
26
+ */
27
+ onCheckProcessing() {
28
+ // 更新累积增量
29
+ this.acc += Time.deltaTime;
30
+ // 如果累积增量超过时间间隔,则进行处理
31
+ if (this.acc >= this.interval) {
32
+ // 更新时间间隔余数
33
+ this.intervalRemainder = this.acc - this.interval;
34
+ // 重置累积增量
35
+ this.acc = 0;
36
+ // 返回true,表示需要进行处理
37
+ return true;
38
+ }
39
+ // 返回false,表示不需要进行处理
40
+ return false;
41
+ }
42
+ /**
43
+ * 获取本系统上次处理后的实际delta值
44
+ * 实际delta值等于时间间隔加上时间间隔余数
45
+ */
46
+ getIntervalDelta() {
47
+ return this.interval + this.intervalRemainder;
48
+ }
49
+ }
50
+ //# sourceMappingURL=IntervalSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntervalSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/IntervalSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAgB,cAAe,SAAQ,YAAY;IAQrD;;;;OAIG;IACH,YAAY,QAAgB,EAAE,OAAiB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QAbnB,gBAAgB;QACR,QAAG,GAAW,CAAC,CAAC;QAGxB,6BAA6B;QACrB,sBAAiB,GAAW,CAAC,CAAC;QASlC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACgB,iBAAiB;QAChC,SAAS;QACT,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;QAE3B,qBAAqB;QACrB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,WAAW;YACX,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClD,SAAS;YACT,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACb,kBAAkB;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,oBAAoB;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACO,gBAAgB;QACtB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAClD,CAAC;CACJ"}
@@ -0,0 +1,17 @@
1
+ import { EntitySystem } from './EntitySystem';
2
+ import { Entity } from '../Entity';
3
+ import { Matcher } from '../Utils/Matcher';
4
+ /**
5
+ * 被动实体系统
6
+ * 定义一个被动的实体系统,继承自EntitySystem类
7
+ * 被动的实体系统不会对实体进行任何修改,只会被动地接收实体的变化事件
8
+ */
9
+ export declare abstract class PassiveSystem extends EntitySystem {
10
+ constructor(matcher?: Matcher);
11
+ /**
12
+ * 不进行任何处理
13
+ * @param entities 实体数组,未被使用
14
+ */
15
+ protected process(entities: Entity[]): void;
16
+ }
17
+ //# sourceMappingURL=PassiveSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassiveSystem.d.ts","sourceRoot":"","sources":["../../../src/ECS/Systems/PassiveSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C;;;;GAIG;AACH,8BAAsB,aAAc,SAAQ,YAAY;gBAExC,OAAO,CAAC,EAAE,OAAO;IAI7B;;;OAGG;cACgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;CAGvD"}
@@ -0,0 +1,19 @@
1
+ import { EntitySystem } from './EntitySystem';
2
+ /**
3
+ * 被动实体系统
4
+ * 定义一个被动的实体系统,继承自EntitySystem类
5
+ * 被动的实体系统不会对实体进行任何修改,只会被动地接收实体的变化事件
6
+ */
7
+ export class PassiveSystem extends EntitySystem {
8
+ constructor(matcher) {
9
+ super(matcher);
10
+ }
11
+ /**
12
+ * 不进行任何处理
13
+ * @param entities 实体数组,未被使用
14
+ */
15
+ process(entities) {
16
+ // 被动系统不进行任何处理
17
+ }
18
+ }
19
+ //# sourceMappingURL=PassiveSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassiveSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/PassiveSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C;;;;GAIG;AACH,MAAM,OAAgB,aAAc,SAAQ,YAAY;IAEpD,YAAY,OAAiB;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED;;;OAGG;IACgB,OAAO,CAAC,QAAkB;QACzC,cAAc;IAClB,CAAC;CACJ"}
@@ -0,0 +1,21 @@
1
+ import { EntitySystem } from './EntitySystem';
2
+ import { Entity } from '../Entity';
3
+ import { Matcher } from '../Utils/Matcher';
4
+ /**
5
+ * 处理系统抽象类
6
+ * 定义一个处理实体的抽象类,继承自EntitySystem类
7
+ * 子类需要实现processSystem方法,用于实现具体的处理逻辑
8
+ */
9
+ export declare abstract class ProcessingSystem extends EntitySystem {
10
+ constructor(matcher?: Matcher);
11
+ /**
12
+ * 处理实体,每帧调用processSystem方法进行处理
13
+ * @param entities 实体数组,未被使用
14
+ */
15
+ protected process(entities: Entity[]): void;
16
+ /**
17
+ * 处理实体的具体方法,由子类实现
18
+ */
19
+ abstract processSystem(): void;
20
+ }
21
+ //# sourceMappingURL=ProcessingSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessingSystem.d.ts","sourceRoot":"","sources":["../../../src/ECS/Systems/ProcessingSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C;;;;GAIG;AACH,8BAAsB,gBAAiB,SAAQ,YAAY;gBAE3C,OAAO,CAAC,EAAE,OAAO;IAI7B;;;OAGG;cACgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKpD;;OAEG;aACa,aAAa,IAAI,IAAI;CACxC"}
@@ -0,0 +1,20 @@
1
+ import { EntitySystem } from './EntitySystem';
2
+ /**
3
+ * 处理系统抽象类
4
+ * 定义一个处理实体的抽象类,继承自EntitySystem类
5
+ * 子类需要实现processSystem方法,用于实现具体的处理逻辑
6
+ */
7
+ export class ProcessingSystem extends EntitySystem {
8
+ constructor(matcher) {
9
+ super(matcher);
10
+ }
11
+ /**
12
+ * 处理实体,每帧调用processSystem方法进行处理
13
+ * @param entities 实体数组,未被使用
14
+ */
15
+ process(entities) {
16
+ // 调用子类实现的processSystem方法进行实体处理
17
+ this.processSystem();
18
+ }
19
+ }
20
+ //# sourceMappingURL=ProcessingSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessingSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/ProcessingSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C;;;;GAIG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,YAAY;IAEvD,YAAY,OAAiB;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED;;;OAGG;IACgB,OAAO,CAAC,QAAkB;QACzC,+BAA+B;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;CAMJ"}
@@ -0,0 +1,5 @@
1
+ export { EntitySystem } from './EntitySystem';
2
+ export { ProcessingSystem } from './ProcessingSystem';
3
+ export { PassiveSystem } from './PassiveSystem';
4
+ export { IntervalSystem } from './IntervalSystem';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ECS/Systems/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // ECS系统导出
2
+ export { EntitySystem } from './EntitySystem';
3
+ export { ProcessingSystem } from './ProcessingSystem';
4
+ export { PassiveSystem } from './PassiveSystem';
5
+ export { IntervalSystem } from './IntervalSystem';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ECS/Systems/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * BigInt兼容性抽象层
3
+ *
4
+ * 为不支持BigInt的环境提供兼容实现,确保ECS框架在所有平台上都能正常运行。
5
+ * 自动检测运行时环境的BigInt支持情况,并提供统一的接口。
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // 创建兼容的BigInt值
10
+ * const value = BigIntFactory.create(123);
11
+ *
12
+ * // 位运算
13
+ * const result = value.or(BigIntFactory.create(456));
14
+ *
15
+ * // 检查兼容性
16
+ * console.log(BigIntFactory.isNativeSupported()); // true/false
17
+ * ```
18
+ */
19
+ /**
20
+ * BigInt兼容接口
21
+ *
22
+ * 定义了BigInt的基本操作接口,支持原生BigInt和兼容实现的统一调用。
23
+ */
24
+ export interface IBigIntLike {
25
+ /**
26
+ * 获取数值表示
27
+ * @returns 数值
28
+ */
29
+ valueOf(): number;
30
+ /**
31
+ * 转换为字符串
32
+ * @param radix 进制,支持2、10、16
33
+ * @returns 字符串表示
34
+ */
35
+ toString(radix?: number): string;
36
+ /**
37
+ * 位运算:与
38
+ * @param other 另一个BigInt值
39
+ * @returns 运算结果
40
+ */
41
+ and(other: IBigIntLike): IBigIntLike;
42
+ /**
43
+ * 位运算:或
44
+ * @param other 另一个BigInt值
45
+ * @returns 运算结果
46
+ */
47
+ or(other: IBigIntLike): IBigIntLike;
48
+ /**
49
+ * 位运算:异或
50
+ * @param other 另一个BigInt值
51
+ * @returns 运算结果
52
+ */
53
+ xor(other: IBigIntLike): IBigIntLike;
54
+ /**
55
+ * 位运算:非
56
+ * @param maxBits 最大位数限制
57
+ * @returns 运算结果
58
+ */
59
+ not(maxBits?: number): IBigIntLike;
60
+ /**
61
+ * 左移位运算
62
+ * @param bits 移位数
63
+ * @returns 运算结果
64
+ */
65
+ shiftLeft(bits: number): IBigIntLike;
66
+ /**
67
+ * 右移位运算
68
+ * @param bits 移位数
69
+ * @returns 运算结果
70
+ */
71
+ shiftRight(bits: number): IBigIntLike;
72
+ /**
73
+ * 相等比较
74
+ * @param other 另一个BigInt值
75
+ * @returns 是否相等
76
+ */
77
+ equals(other: IBigIntLike): boolean;
78
+ /**
79
+ * 检查是否为零
80
+ * @returns 是否为零
81
+ */
82
+ isZero(): boolean;
83
+ /**
84
+ * 创建副本
85
+ * @returns 新的实例
86
+ */
87
+ clone(): IBigIntLike;
88
+ }
89
+ /**
90
+ * BigInt工厂类
91
+ *
92
+ * 自动检测运行时环境的BigInt支持情况,并提供统一的创建接口。
93
+ * 在支持BigInt的环境中使用原生实现,在不支持的环境中使用兼容实现。
94
+ */
95
+ export declare class BigIntFactory {
96
+ private static _supportsBigInt;
97
+ private static _cachedZero;
98
+ private static _cachedOne;
99
+ /**
100
+ * 检查是否支持原生BigInt
101
+ * @returns 是否支持原生BigInt
102
+ */
103
+ static isNativeSupported(): boolean;
104
+ /**
105
+ * 检测BigInt支持情况
106
+ * @returns 是否支持BigInt
107
+ */
108
+ private static detectBigIntSupport;
109
+ /**
110
+ * 创建BigInt兼容值
111
+ * @param value 初始值
112
+ * @returns IBigIntLike实例
113
+ */
114
+ static create(value?: number | string | bigint): IBigIntLike;
115
+ /**
116
+ * 创建零值
117
+ * @returns 零值的IBigIntLike实例
118
+ */
119
+ static zero(): IBigIntLike;
120
+ /**
121
+ * 创建1值
122
+ * @returns 1值的IBigIntLike实例
123
+ */
124
+ static one(): IBigIntLike;
125
+ /**
126
+ * 从二进制字符串创建
127
+ * @param binary 二进制字符串
128
+ * @returns IBigIntLike实例
129
+ */
130
+ static fromBinaryString(binary: string): IBigIntLike;
131
+ /**
132
+ * 从十六进制字符串创建
133
+ * @param hex 十六进制字符串
134
+ * @returns IBigIntLike实例
135
+ */
136
+ static fromHexString(hex: string): IBigIntLike;
137
+ /**
138
+ * 获取环境信息
139
+ * @returns 环境信息对象
140
+ */
141
+ static getEnvironmentInfo(): EnvironmentInfo;
142
+ /**
143
+ * 检测运行环境
144
+ * @returns 环境类型
145
+ */
146
+ private static detectEnvironment;
147
+ /**
148
+ * 检测JavaScript引擎
149
+ * @returns JS引擎信息
150
+ */
151
+ private static detectJSEngine;
152
+ }
153
+ /**
154
+ * 环境信息接口
155
+ */
156
+ export interface EnvironmentInfo {
157
+ /** 是否支持BigInt */
158
+ supportsBigInt: boolean;
159
+ /** 运行环境 */
160
+ environment: string;
161
+ /** JavaScript引擎 */
162
+ jsEngine: string;
163
+ }
164
+ //# sourceMappingURL=BigIntCompatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigIntCompatibility.d.ts","sourceRoot":"","sources":["../../../src/ECS/Utils/BigIntCompatibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB;;;OAGG;IACH,OAAO,IAAI,MAAM,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC;IAErC;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC;IAEpC;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC;IAErC;;;;OAIG;IACH,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAEnC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAErC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAEtC;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IAEpC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC;IAElB;;;OAGG;IACH,KAAK,IAAI,WAAW,CAAC;CACxB;AAmZD;;;;;GAKG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAwB;IACtD,OAAO,CAAC,MAAM,CAAC,WAAW,CAA4B;IACtD,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4B;IAGrD;;;OAGG;WACW,iBAAiB,IAAI,OAAO;IAO1C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA+BlC;;;;OAIG;WACW,MAAM,CAAC,KAAK,GAAE,MAAM,GAAG,MAAM,GAAG,MAAU,GAAG,WAAW;IA2BtE;;;OAGG;WACW,IAAI,IAAI,WAAW;IAOjC;;;OAGG;WACW,GAAG,IAAI,WAAW;IAOhC;;;;OAIG;WACW,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAS3D;;;;OAIG;WACW,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAUrD;;;OAGG;WACW,kBAAkB,IAAI,eAAe;IAQnD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgDhC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAuBhC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,iBAAiB;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB"}