@esengine/ecs-framework 2.1.30 → 2.1.31

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 (286) hide show
  1. package/index.cjs +2 -0
  2. package/index.cjs.map +1 -0
  3. package/index.d.ts +6357 -0
  4. package/index.mjs +2 -0
  5. package/index.mjs.map +1 -0
  6. package/package.json +24 -50
  7. package/bin/Core.d.ts +0 -279
  8. package/bin/Core.d.ts.map +0 -1
  9. package/bin/Core.js +0 -400
  10. package/bin/Core.js.map +0 -1
  11. package/bin/ECS/Component.d.ts +0 -120
  12. package/bin/ECS/Component.d.ts.map +0 -1
  13. package/bin/ECS/Component.js +0 -129
  14. package/bin/ECS/Component.js.map +0 -1
  15. package/bin/ECS/Components/IUpdatable.d.ts +0 -22
  16. package/bin/ECS/Components/IUpdatable.d.ts.map +0 -1
  17. package/bin/ECS/Components/IUpdatable.js +0 -17
  18. package/bin/ECS/Components/IUpdatable.js.map +0 -1
  19. package/bin/ECS/Components/SceneComponent.d.ts +0 -40
  20. package/bin/ECS/Components/SceneComponent.d.ts.map +0 -1
  21. package/bin/ECS/Components/SceneComponent.js +0 -57
  22. package/bin/ECS/Components/SceneComponent.js.map +0 -1
  23. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -100
  24. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  25. package/bin/ECS/Core/ArchetypeSystem.js +0 -193
  26. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  27. package/bin/ECS/Core/ComponentIndex.d.ts +0 -151
  28. package/bin/ECS/Core/ComponentIndex.d.ts.map +0 -1
  29. package/bin/ECS/Core/ComponentIndex.js +0 -405
  30. package/bin/ECS/Core/ComponentIndex.js.map +0 -1
  31. package/bin/ECS/Core/ComponentPool.d.ts +0 -88
  32. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  33. package/bin/ECS/Core/ComponentPool.js +0 -159
  34. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  35. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -92
  36. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  37. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -167
  38. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  39. package/bin/ECS/Core/ComponentStorage.d.ts +0 -233
  40. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  41. package/bin/ECS/Core/ComponentStorage.js +0 -463
  42. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  43. package/bin/ECS/Core/DirtyTrackingSystem.d.ts +0 -197
  44. package/bin/ECS/Core/DirtyTrackingSystem.d.ts.map +0 -1
  45. package/bin/ECS/Core/DirtyTrackingSystem.js +0 -297
  46. package/bin/ECS/Core/DirtyTrackingSystem.js.map +0 -1
  47. package/bin/ECS/Core/EntityManager.d.ts +0 -379
  48. package/bin/ECS/Core/EntityManager.d.ts.map +0 -1
  49. package/bin/ECS/Core/EntityManager.js +0 -686
  50. package/bin/ECS/Core/EntityManager.js.map +0 -1
  51. package/bin/ECS/Core/EventBus.d.ts +0 -218
  52. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  53. package/bin/ECS/Core/EventBus.js +0 -402
  54. package/bin/ECS/Core/EventBus.js.map +0 -1
  55. package/bin/ECS/Core/EventSystem.d.ts +0 -237
  56. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  57. package/bin/ECS/Core/EventSystem.js +0 -478
  58. package/bin/ECS/Core/EventSystem.js.map +0 -1
  59. package/bin/ECS/Core/Events/index.d.ts +0 -3
  60. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  61. package/bin/ECS/Core/Events/index.js +0 -3
  62. package/bin/ECS/Core/Events/index.js.map +0 -1
  63. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  64. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  65. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  66. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  67. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  68. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  69. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  70. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  71. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  72. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  73. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  74. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  75. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  76. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  77. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -174
  78. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  79. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  80. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  81. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  82. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  83. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  84. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  85. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  86. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  87. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  88. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  89. package/bin/ECS/Core/FluentAPI.js +0 -3
  90. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  91. package/bin/ECS/Core/Performance/index.d.ts +0 -4
  92. package/bin/ECS/Core/Performance/index.d.ts.map +0 -1
  93. package/bin/ECS/Core/Performance/index.js +0 -4
  94. package/bin/ECS/Core/Performance/index.js.map +0 -1
  95. package/bin/ECS/Core/Query/index.d.ts +0 -4
  96. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  97. package/bin/ECS/Core/Query/index.js +0 -4
  98. package/bin/ECS/Core/Query/index.js.map +0 -1
  99. package/bin/ECS/Core/QuerySystem.d.ts +0 -438
  100. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  101. package/bin/ECS/Core/QuerySystem.js +0 -974
  102. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  103. package/bin/ECS/Core/SoAStorage.d.ts +0 -97
  104. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  105. package/bin/ECS/Core/SoAStorage.js +0 -548
  106. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  107. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  108. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  109. package/bin/ECS/Core/Storage/index.js +0 -4
  110. package/bin/ECS/Core/Storage/index.js.map +0 -1
  111. package/bin/ECS/CoreEvents.d.ts +0 -131
  112. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  113. package/bin/ECS/CoreEvents.js +0 -163
  114. package/bin/ECS/CoreEvents.js.map +0 -1
  115. package/bin/ECS/Entity.d.ts +0 -455
  116. package/bin/ECS/Entity.d.ts.map +0 -1
  117. package/bin/ECS/Entity.js +0 -837
  118. package/bin/ECS/Entity.js.map +0 -1
  119. package/bin/ECS/Scene.d.ts +0 -225
  120. package/bin/ECS/Scene.d.ts.map +0 -1
  121. package/bin/ECS/Scene.js +0 -325
  122. package/bin/ECS/Scene.js.map +0 -1
  123. package/bin/ECS/Systems/EntitySystem.d.ts +0 -200
  124. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  125. package/bin/ECS/Systems/EntitySystem.js +0 -431
  126. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  127. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  128. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  129. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  130. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  131. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  132. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  133. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  134. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  135. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  136. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  137. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  138. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  139. package/bin/ECS/Systems/index.d.ts +0 -5
  140. package/bin/ECS/Systems/index.d.ts.map +0 -1
  141. package/bin/ECS/Systems/index.js +0 -6
  142. package/bin/ECS/Systems/index.js.map +0 -1
  143. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -164
  144. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  145. package/bin/ECS/Utils/BigIntCompatibility.js +0 -578
  146. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  147. package/bin/ECS/Utils/Bits.d.ts +0 -163
  148. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  149. package/bin/ECS/Utils/Bits.js +0 -286
  150. package/bin/ECS/Utils/Bits.js.map +0 -1
  151. package/bin/ECS/Utils/ComponentTypeManager.d.ts +0 -50
  152. package/bin/ECS/Utils/ComponentTypeManager.d.ts.map +0 -1
  153. package/bin/ECS/Utils/ComponentTypeManager.js +0 -84
  154. package/bin/ECS/Utils/ComponentTypeManager.js.map +0 -1
  155. package/bin/ECS/Utils/EntityList.d.ts +0 -108
  156. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  157. package/bin/ECS/Utils/EntityList.js +0 -262
  158. package/bin/ECS/Utils/EntityList.js.map +0 -1
  159. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  160. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  161. package/bin/ECS/Utils/EntityProcessorList.js +0 -102
  162. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  163. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  164. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  165. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  166. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  167. package/bin/ECS/Utils/Matcher.d.ts +0 -143
  168. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  169. package/bin/ECS/Utils/Matcher.js +0 -249
  170. package/bin/ECS/Utils/Matcher.js.map +0 -1
  171. package/bin/ECS/Utils/index.d.ts +0 -8
  172. package/bin/ECS/Utils/index.d.ts.map +0 -1
  173. package/bin/ECS/Utils/index.js +0 -9
  174. package/bin/ECS/Utils/index.js.map +0 -1
  175. package/bin/ECS/index.d.ts +0 -12
  176. package/bin/ECS/index.d.ts.map +0 -1
  177. package/bin/ECS/index.js +0 -12
  178. package/bin/ECS/index.js.map +0 -1
  179. package/bin/Types/index.d.ts +0 -471
  180. package/bin/Types/index.d.ts.map +0 -1
  181. package/bin/Types/index.js +0 -5
  182. package/bin/Types/index.js.map +0 -1
  183. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -28
  184. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  185. package/bin/Utils/Debug/ComponentDataCollector.js +0 -248
  186. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  187. package/bin/Utils/Debug/DebugDataFormatter.d.ts +0 -22
  188. package/bin/Utils/Debug/DebugDataFormatter.d.ts.map +0 -1
  189. package/bin/Utils/Debug/DebugDataFormatter.js +0 -117
  190. package/bin/Utils/Debug/DebugDataFormatter.js.map +0 -1
  191. package/bin/Utils/Debug/DebugManager.d.ts +0 -104
  192. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  193. package/bin/Utils/Debug/DebugManager.js +0 -647
  194. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  195. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -92
  196. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  197. package/bin/Utils/Debug/EntityDataCollector.js +0 -864
  198. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  199. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -32
  200. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  201. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -217
  202. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  203. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -16
  204. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  205. package/bin/Utils/Debug/SceneDataCollector.js +0 -46
  206. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  207. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -11
  208. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  209. package/bin/Utils/Debug/SystemDataCollector.js +0 -59
  210. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  211. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -59
  212. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  213. package/bin/Utils/Debug/WebSocketManager.js +0 -148
  214. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  215. package/bin/Utils/Debug/index.d.ts +0 -8
  216. package/bin/Utils/Debug/index.d.ts.map +0 -1
  217. package/bin/Utils/Debug/index.js +0 -8
  218. package/bin/Utils/Debug/index.js.map +0 -1
  219. package/bin/Utils/Emitter.d.ts +0 -43
  220. package/bin/Utils/Emitter.d.ts.map +0 -1
  221. package/bin/Utils/Emitter.js +0 -69
  222. package/bin/Utils/Emitter.js.map +0 -1
  223. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  224. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  225. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  226. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  227. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  228. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  229. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  230. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  231. package/bin/Utils/Extensions/index.d.ts +0 -3
  232. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  233. package/bin/Utils/Extensions/index.js +0 -4
  234. package/bin/Utils/Extensions/index.js.map +0 -1
  235. package/bin/Utils/GlobalManager.d.ts +0 -32
  236. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  237. package/bin/Utils/GlobalManager.js +0 -53
  238. package/bin/Utils/GlobalManager.js.map +0 -1
  239. package/bin/Utils/Logger.d.ts +0 -156
  240. package/bin/Utils/Logger.d.ts.map +0 -1
  241. package/bin/Utils/Logger.js +0 -256
  242. package/bin/Utils/Logger.js.map +0 -1
  243. package/bin/Utils/PerformanceMonitor.d.ts +0 -211
  244. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  245. package/bin/Utils/PerformanceMonitor.js +0 -270
  246. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  247. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  248. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  249. package/bin/Utils/Pool/IPoolable.js +0 -2
  250. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  251. package/bin/Utils/Pool/Pool.d.ts +0 -109
  252. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  253. package/bin/Utils/Pool/Pool.js +0 -238
  254. package/bin/Utils/Pool/Pool.js.map +0 -1
  255. package/bin/Utils/Pool/PoolManager.d.ts +0 -91
  256. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  257. package/bin/Utils/Pool/PoolManager.js +0 -197
  258. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  259. package/bin/Utils/Pool/index.d.ts +0 -4
  260. package/bin/Utils/Pool/index.d.ts.map +0 -1
  261. package/bin/Utils/Pool/index.js +0 -4
  262. package/bin/Utils/Pool/index.js.map +0 -1
  263. package/bin/Utils/Time.d.ts +0 -47
  264. package/bin/Utils/Time.d.ts.map +0 -1
  265. package/bin/Utils/Time.js +0 -64
  266. package/bin/Utils/Time.js.map +0 -1
  267. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  268. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  269. package/bin/Utils/Timers/ITimer.js +0 -2
  270. package/bin/Utils/Timers/ITimer.js.map +0 -1
  271. package/bin/Utils/Timers/Timer.d.ts +0 -30
  272. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  273. package/bin/Utils/Timers/Timer.js +0 -58
  274. package/bin/Utils/Timers/Timer.js.map +0 -1
  275. package/bin/Utils/Timers/TimerManager.d.ts +0 -19
  276. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  277. package/bin/Utils/Timers/TimerManager.js +0 -33
  278. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  279. package/bin/Utils/index.d.ts +0 -9
  280. package/bin/Utils/index.d.ts.map +0 -1
  281. package/bin/Utils/index.js +0 -9
  282. package/bin/Utils/index.js.map +0 -1
  283. package/bin/index.d.ts +0 -16
  284. package/bin/index.d.ts.map +0 -1
  285. package/bin/index.js +0 -19
  286. package/bin/index.js.map +0 -1
@@ -1,91 +0,0 @@
1
- import { IPoolable, PoolStats } from './IPoolable';
2
- import { Pool } from './Pool';
3
- /**
4
- * 池管理器
5
- * 统一管理所有对象池
6
- */
7
- export declare class PoolManager {
8
- private static instance;
9
- private pools;
10
- private autoCompactInterval;
11
- private lastCompactTime;
12
- static getInstance(): PoolManager;
13
- /**
14
- * 注册池
15
- * @param name 池名称
16
- * @param pool 池实例
17
- */
18
- registerPool<T extends IPoolable>(name: string, pool: Pool<T>): void;
19
- /**
20
- * 获取池
21
- * @param name 池名称
22
- * @returns 池实例
23
- */
24
- getPool<T extends IPoolable>(name: string): Pool<T> | null;
25
- /**
26
- * 更新池管理器(应在游戏循环中调用)
27
- */
28
- update(): void;
29
- /**
30
- * 创建或获取标准池
31
- * @param name 池名称
32
- * @param createFn 创建函数
33
- * @param maxSize 最大大小
34
- * @param estimatedObjectSize 估算对象大小
35
- * @returns 池实例
36
- */
37
- createPool<T extends IPoolable>(name: string, createFn: () => T, maxSize?: number, estimatedObjectSize?: number): Pool<T>;
38
- /**
39
- * 移除池
40
- * @param name 池名称
41
- * @returns 是否成功移除
42
- */
43
- removePool(name: string): boolean;
44
- /**
45
- * 获取所有池名称
46
- * @returns 池名称数组
47
- */
48
- getPoolNames(): string[];
49
- /**
50
- * 获取池数量
51
- * @returns 池数量
52
- */
53
- getPoolCount(): number;
54
- /**
55
- * 压缩所有池
56
- */
57
- compactAllPools(): void;
58
- /**
59
- * 清空所有池
60
- */
61
- clearAllPools(): void;
62
- /**
63
- * 获取所有池的统计信息
64
- * @returns 统计信息映射
65
- */
66
- getAllStats(): Map<string, PoolStats>;
67
- /**
68
- * 获取总体统计信息
69
- * @returns 总体统计信息
70
- */
71
- getGlobalStats(): PoolStats;
72
- /**
73
- * 获取格式化的统计信息字符串
74
- * @returns 格式化字符串
75
- */
76
- getStatsString(): string;
77
- /**
78
- * 设置自动压缩间隔
79
- * @param intervalMs 间隔毫秒数
80
- */
81
- setAutoCompactInterval(intervalMs: number): void;
82
- /**
83
- * 预填充所有池
84
- */
85
- prewarmAllPools(): void;
86
- /**
87
- * 重置池管理器
88
- */
89
- reset(): void;
90
- }
91
- //# sourceMappingURL=PoolManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolManager.d.ts","sourceRoot":"","sources":["../../../src/Utils/Pool/PoolManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;GAGG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,eAAe,CAAK;WAEd,WAAW,IAAI,WAAW;IAOxC;;;;OAIG;IACI,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3E;;;;OAIG;IACI,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;IAIjE;;OAEG;IACI,MAAM,IAAI,IAAI;IASrB;;;;;;;OAOG;IACI,UAAU,CAAC,CAAC,SAAS,SAAS,EACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,CAAC,EACjB,OAAO,GAAE,MAAY,EACrB,mBAAmB,GAAE,MAAa,GACnC,IAAI,CAAC,CAAC,CAAC;IAYV;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUxC;;;OAGG;IACI,YAAY,IAAI,MAAM,EAAE;IAI/B;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;OAEG;IACI,eAAe,IAAI,IAAI;IAM9B;;OAEG;IACI,aAAa,IAAI,IAAI;IAM5B;;;OAGG;IACI,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAU5C;;;OAGG;IACI,cAAc,IAAI,SAAS;IA+BlC;;;OAGG;IACI,cAAc,IAAI,MAAM;IA0B/B;;;OAGG;IACI,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvD;;OAEG;IACI,eAAe,IAAI,IAAI;IAQ9B;;OAEG;IACI,KAAK,IAAI,IAAI;CAKvB"}
@@ -1,197 +0,0 @@
1
- import { Pool } from './Pool';
2
- /**
3
- * 池管理器
4
- * 统一管理所有对象池
5
- */
6
- export class PoolManager {
7
- constructor() {
8
- this.pools = new Map();
9
- this.autoCompactInterval = 60000; // 60秒
10
- this.lastCompactTime = 0;
11
- }
12
- static getInstance() {
13
- if (!PoolManager.instance) {
14
- PoolManager.instance = new PoolManager();
15
- }
16
- return PoolManager.instance;
17
- }
18
- /**
19
- * 注册池
20
- * @param name 池名称
21
- * @param pool 池实例
22
- */
23
- registerPool(name, pool) {
24
- this.pools.set(name, pool);
25
- }
26
- /**
27
- * 获取池
28
- * @param name 池名称
29
- * @returns 池实例
30
- */
31
- getPool(name) {
32
- return this.pools.get(name) || null;
33
- }
34
- /**
35
- * 更新池管理器(应在游戏循环中调用)
36
- */
37
- update() {
38
- const now = Date.now();
39
- if (now - this.lastCompactTime > this.autoCompactInterval) {
40
- this.compactAllPools();
41
- this.lastCompactTime = now;
42
- }
43
- }
44
- /**
45
- * 创建或获取标准池
46
- * @param name 池名称
47
- * @param createFn 创建函数
48
- * @param maxSize 最大大小
49
- * @param estimatedObjectSize 估算对象大小
50
- * @returns 池实例
51
- */
52
- createPool(name, createFn, maxSize = 100, estimatedObjectSize = 1024) {
53
- let pool = this.pools.get(name);
54
- if (!pool) {
55
- pool = new Pool(createFn, maxSize, estimatedObjectSize);
56
- this.pools.set(name, pool);
57
- }
58
- return pool;
59
- }
60
- /**
61
- * 移除池
62
- * @param name 池名称
63
- * @returns 是否成功移除
64
- */
65
- removePool(name) {
66
- const pool = this.pools.get(name);
67
- if (pool) {
68
- pool.clear();
69
- this.pools.delete(name);
70
- return true;
71
- }
72
- return false;
73
- }
74
- /**
75
- * 获取所有池名称
76
- * @returns 池名称数组
77
- */
78
- getPoolNames() {
79
- return Array.from(this.pools.keys());
80
- }
81
- /**
82
- * 获取池数量
83
- * @returns 池数量
84
- */
85
- getPoolCount() {
86
- return this.pools.size;
87
- }
88
- /**
89
- * 压缩所有池
90
- */
91
- compactAllPools() {
92
- for (const pool of this.pools.values()) {
93
- pool.compact();
94
- }
95
- }
96
- /**
97
- * 清空所有池
98
- */
99
- clearAllPools() {
100
- for (const pool of this.pools.values()) {
101
- pool.clear();
102
- }
103
- }
104
- /**
105
- * 获取所有池的统计信息
106
- * @returns 统计信息映射
107
- */
108
- getAllStats() {
109
- const stats = new Map();
110
- for (const [name, pool] of this.pools) {
111
- stats.set(name, pool.getStats());
112
- }
113
- return stats;
114
- }
115
- /**
116
- * 获取总体统计信息
117
- * @returns 总体统计信息
118
- */
119
- getGlobalStats() {
120
- let totalSize = 0;
121
- let totalMaxSize = 0;
122
- let totalCreated = 0;
123
- let totalObtained = 0;
124
- let totalReleased = 0;
125
- let totalMemoryUsage = 0;
126
- for (const pool of this.pools.values()) {
127
- const stats = pool.getStats();
128
- totalSize += stats.size;
129
- totalMaxSize += stats.maxSize;
130
- totalCreated += stats.totalCreated;
131
- totalObtained += stats.totalObtained;
132
- totalReleased += stats.totalReleased;
133
- totalMemoryUsage += stats.estimatedMemoryUsage;
134
- }
135
- const hitRate = totalObtained === 0 ? 0 : (totalObtained - totalCreated) / totalObtained;
136
- return {
137
- size: totalSize,
138
- maxSize: totalMaxSize,
139
- totalCreated,
140
- totalObtained,
141
- totalReleased,
142
- hitRate,
143
- estimatedMemoryUsage: totalMemoryUsage
144
- };
145
- }
146
- /**
147
- * 获取格式化的统计信息字符串
148
- * @returns 格式化字符串
149
- */
150
- getStatsString() {
151
- const lines = ['=== Pool Manager Statistics ===', ''];
152
- if (this.pools.size === 0) {
153
- lines.push('No pools registered');
154
- return lines.join('\n');
155
- }
156
- const globalStats = this.getGlobalStats();
157
- lines.push(`Total Pools: ${this.pools.size}`);
158
- lines.push(`Global Hit Rate: ${(globalStats.hitRate * 100).toFixed(1)}%`);
159
- lines.push(`Global Memory Usage: ${(globalStats.estimatedMemoryUsage / 1024).toFixed(1)} KB`);
160
- lines.push('');
161
- for (const [name, pool] of this.pools) {
162
- const stats = pool.getStats();
163
- lines.push(`${name}:`);
164
- lines.push(` Size: ${stats.size}/${stats.maxSize}`);
165
- lines.push(` Hit Rate: ${(stats.hitRate * 100).toFixed(1)}%`);
166
- lines.push(` Memory: ${(stats.estimatedMemoryUsage / 1024).toFixed(1)} KB`);
167
- lines.push('');
168
- }
169
- return lines.join('\n');
170
- }
171
- /**
172
- * 设置自动压缩间隔
173
- * @param intervalMs 间隔毫秒数
174
- */
175
- setAutoCompactInterval(intervalMs) {
176
- this.autoCompactInterval = intervalMs;
177
- }
178
- /**
179
- * 预填充所有池
180
- */
181
- prewarmAllPools() {
182
- for (const pool of this.pools.values()) {
183
- const stats = pool.getStats();
184
- const prewarmCount = Math.floor(stats.maxSize * 0.2); // 预填充20%
185
- pool.prewarm(prewarmCount);
186
- }
187
- }
188
- /**
189
- * 重置池管理器
190
- */
191
- reset() {
192
- this.clearAllPools();
193
- this.pools.clear();
194
- this.lastCompactTime = 0;
195
- }
196
- }
197
- //# sourceMappingURL=PoolManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolManager.js","sourceRoot":"","sources":["../../../src/Utils/Pool/PoolManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export * from './IPoolable';
2
- export * from './Pool';
3
- export * from './PoolManager';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Utils/Pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './IPoolable';
2
- export * from './Pool';
3
- export * from './PoolManager';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Utils/Pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -1,47 +0,0 @@
1
- /**
2
- * 时间管理工具类
3
- * 提供游戏时间相关的功能,包括帧时间、总时间、时间缩放等
4
- */
5
- export declare class Time {
6
- /**
7
- * 上一帧到当前帧的时间间隔(秒)
8
- */
9
- static deltaTime: number;
10
- /**
11
- * 未缩放的帧时间间隔(秒)
12
- */
13
- static unscaledDeltaTime: number;
14
- /**
15
- * 游戏开始以来的总时间(秒)
16
- */
17
- static totalTime: number;
18
- /**
19
- * 未缩放的总时间(秒)
20
- */
21
- static unscaledTotalTime: number;
22
- /**
23
- * 时间缩放比例
24
- */
25
- static timeScale: number;
26
- /**
27
- * 当前帧数
28
- */
29
- static frameCount: number;
30
- /**
31
- * 使用外部引擎提供的deltaTime更新时间信息
32
- * @param deltaTime 外部引擎提供的帧时间间隔(秒)
33
- */
34
- static update(deltaTime: number): void;
35
- /**
36
- * 场景改变时重置时间
37
- */
38
- static sceneChanged(): void;
39
- /**
40
- * 检查指定的时间间隔是否已经过去
41
- * @param interval 时间间隔(秒)
42
- * @param lastTime 上次检查的时间
43
- * @returns 是否已经过去指定时间
44
- */
45
- static checkEvery(interval: number, lastTime: number): boolean;
46
- }
47
- //# sourceMappingURL=Time.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../src/Utils/Time.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,IAAI;IACb;;OAEG;IACH,OAAc,SAAS,EAAE,MAAM,CAAK;IAEpC;;OAEG;IACH,OAAc,iBAAiB,EAAE,MAAM,CAAK;IAE5C;;OAEG;IACH,OAAc,SAAS,EAAE,MAAM,CAAK;IAEpC;;OAEG;IACH,OAAc,iBAAiB,EAAE,MAAM,CAAK;IAE5C;;OAEG;IACH,OAAc,SAAS,EAAE,MAAM,CAAK;IAEpC;;OAEG;IACH,OAAc,UAAU,EAAE,MAAM,CAAK;IAErC;;;OAGG;WACW,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAa7C;;OAEG;WACW,YAAY,IAAI,IAAI;IAQlC;;;;;OAKG;WACW,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGxE"}
package/bin/Utils/Time.js DELETED
@@ -1,64 +0,0 @@
1
- /**
2
- * 时间管理工具类
3
- * 提供游戏时间相关的功能,包括帧时间、总时间、时间缩放等
4
- */
5
- export class Time {
6
- /**
7
- * 使用外部引擎提供的deltaTime更新时间信息
8
- * @param deltaTime 外部引擎提供的帧时间间隔(秒)
9
- */
10
- static update(deltaTime) {
11
- // 设置未缩放的帧时间
12
- this.unscaledDeltaTime = deltaTime;
13
- this.deltaTime = deltaTime * this.timeScale;
14
- // 更新总时间
15
- this.unscaledTotalTime += this.unscaledDeltaTime;
16
- this.totalTime += this.deltaTime;
17
- // 更新帧数
18
- this.frameCount++;
19
- }
20
- /**
21
- * 场景改变时重置时间
22
- */
23
- static sceneChanged() {
24
- this.frameCount = 0;
25
- this.totalTime = 0;
26
- this.unscaledTotalTime = 0;
27
- this.deltaTime = 0;
28
- this.unscaledDeltaTime = 0;
29
- }
30
- /**
31
- * 检查指定的时间间隔是否已经过去
32
- * @param interval 时间间隔(秒)
33
- * @param lastTime 上次检查的时间
34
- * @returns 是否已经过去指定时间
35
- */
36
- static checkEvery(interval, lastTime) {
37
- return this.totalTime - lastTime >= interval;
38
- }
39
- }
40
- /**
41
- * 上一帧到当前帧的时间间隔(秒)
42
- */
43
- Time.deltaTime = 0;
44
- /**
45
- * 未缩放的帧时间间隔(秒)
46
- */
47
- Time.unscaledDeltaTime = 0;
48
- /**
49
- * 游戏开始以来的总时间(秒)
50
- */
51
- Time.totalTime = 0;
52
- /**
53
- * 未缩放的总时间(秒)
54
- */
55
- Time.unscaledTotalTime = 0;
56
- /**
57
- * 时间缩放比例
58
- */
59
- Time.timeScale = 1;
60
- /**
61
- * 当前帧数
62
- */
63
- Time.frameCount = 0;
64
- //# sourceMappingURL=Time.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Time.js","sourceRoot":"","sources":["../../src/Utils/Time.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,IAAI;IA+Bb;;;OAGG;IACI,MAAM,CAAC,MAAM,CAAC,SAAiB;QAClC,YAAY;QACZ,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAE5C,QAAQ;QACR,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAEjC,OAAO;QACP,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY;QACtB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAC,QAAgB,EAAE,QAAgB;QACvD,OAAO,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,QAAQ,CAAC;IACjD,CAAC;;AAlED;;GAEG;AACW,cAAS,GAAW,CAAC,CAAC;AAEpC;;GAEG;AACW,sBAAiB,GAAW,CAAC,CAAC;AAE5C;;GAEG;AACW,cAAS,GAAW,CAAC,CAAC;AAEpC;;GAEG;AACW,sBAAiB,GAAW,CAAC,CAAC;AAE5C;;GAEG;AACW,cAAS,GAAW,CAAC,CAAC;AAEpC;;GAEG;AACW,eAAU,GAAW,CAAC,CAAC"}
@@ -1,16 +0,0 @@
1
- export interface ITimer<TContext = unknown> {
2
- context: TContext;
3
- /**
4
- * 调用stop以停止此计时器再次运行。这对非重复计时器没有影响。
5
- */
6
- stop(): void;
7
- /**
8
- * 将计时器的运行时间重置为0
9
- */
10
- reset(): void;
11
- /**
12
- * 返回投向T的上下文,作为方便
13
- */
14
- getContext<T>(): T;
15
- }
16
- //# sourceMappingURL=ITimer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ITimer.d.ts","sourceRoot":"","sources":["../../../src/Utils/Timers/ITimer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM,CAAC,QAAQ,GAAG,OAAO;IACtC,OAAO,EAAE,QAAQ,CAAC;IAElB;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;CACtB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ITimer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ITimer.js","sourceRoot":"","sources":["../../../src/Utils/Timers/ITimer.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import { ITimer } from './ITimer';
2
- /**
3
- * 私有类隐藏ITimer的实现
4
- */
5
- export declare class Timer<TContext = unknown> implements ITimer<TContext> {
6
- context: TContext;
7
- _timeInSeconds: number;
8
- _repeats: boolean;
9
- _onTime: (timer: ITimer<TContext>) => void;
10
- _isDone: boolean;
11
- _elapsedTime: number;
12
- getContext<T>(): T;
13
- /**
14
- * 定时器是否已完成
15
- */
16
- get isDone(): boolean;
17
- /**
18
- * 定时器已运行的时间
19
- */
20
- get elapsedTime(): number;
21
- reset(): void;
22
- stop(): void;
23
- tick(): boolean;
24
- initialize(timeInsSeconds: number, repeats: boolean, context: TContext, onTime: (timer: ITimer<TContext>) => void): void;
25
- /**
26
- * 空出对象引用,以便在js需要时GC可以清理它们的引用
27
- */
28
- unload(): void;
29
- }
30
- //# sourceMappingURL=Timer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../../src/Utils/Timers/Timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAE,YAAW,MAAM,CAAC,QAAQ,CAAC;IACvD,OAAO,EAAG,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAK;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAS;IACzB,YAAY,EAAE,MAAM,CAAK;IAEzB,UAAU,CAAC,CAAC,KAAK,CAAC;IAIzB;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAEM,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,IAAI;IAeJ,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAG,IAAI;IAOtH;;OAEG;IACI,MAAM;CAIhB"}
@@ -1,58 +0,0 @@
1
- import { Time } from '../Time';
2
- /**
3
- * 私有类隐藏ITimer的实现
4
- */
5
- export class Timer {
6
- constructor() {
7
- this._timeInSeconds = 0;
8
- this._repeats = false;
9
- this._isDone = false;
10
- this._elapsedTime = 0;
11
- }
12
- getContext() {
13
- return this.context;
14
- }
15
- /**
16
- * 定时器是否已完成
17
- */
18
- get isDone() {
19
- return this._isDone;
20
- }
21
- /**
22
- * 定时器已运行的时间
23
- */
24
- get elapsedTime() {
25
- return this._elapsedTime;
26
- }
27
- reset() {
28
- this._elapsedTime = 0;
29
- }
30
- stop() {
31
- this._isDone = true;
32
- }
33
- tick() {
34
- // 如果stop在tick之前被调用,那么isDone将为true,我们不应该再做任何事情
35
- if (!this._isDone && this._elapsedTime > this._timeInSeconds) {
36
- this._elapsedTime -= this._timeInSeconds;
37
- this._onTime(this);
38
- if (!this._isDone && !this._repeats)
39
- this._isDone = true;
40
- }
41
- this._elapsedTime += Time.deltaTime;
42
- return this._isDone;
43
- }
44
- initialize(timeInsSeconds, repeats, context, onTime) {
45
- this._timeInSeconds = timeInsSeconds;
46
- this._repeats = repeats;
47
- this.context = context;
48
- this._onTime = onTime.bind(context);
49
- }
50
- /**
51
- * 空出对象引用,以便在js需要时GC可以清理它们的引用
52
- */
53
- unload() {
54
- this.context = null;
55
- this._onTime = null;
56
- }
57
- }
58
- //# sourceMappingURL=Timer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../../src/Utils/Timers/Timer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,KAAK;IAAlB;QAEW,mBAAc,GAAW,CAAC,CAAC;QAC3B,aAAQ,GAAY,KAAK,CAAC;QAE1B,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAW,CAAC,CAAC;IAyDpC,CAAC;IAvDU,UAAU;QACb,OAAO,IAAI,CAAC,OAAuB,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAEM,IAAI;QACP,8CAA8C;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC;QAEpC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEM,UAAU,CAAC,cAAsB,EAAE,OAAgB,EAAE,OAAiB,EAAE,MAAuC;QAClH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,MAAM;QACT,IAAI,CAAC,OAAO,GAAG,IAA2B,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAK,CAAC;IACzB,CAAC;CACJ"}
@@ -1,19 +0,0 @@
1
- import { GlobalManager } from '../GlobalManager';
2
- import { Timer } from './Timer';
3
- import { ITimer } from './ITimer';
4
- /**
5
- * 允许动作的延迟和重复执行
6
- */
7
- export declare class TimerManager extends GlobalManager {
8
- _timers: Array<Timer<unknown>>;
9
- update(): void;
10
- /**
11
- * 调度一个一次性或重复的计时器,该计时器将调用已传递的动作
12
- * @param timeInSeconds
13
- * @param repeats
14
- * @param context
15
- * @param onTime
16
- */
17
- schedule<TContext = unknown>(timeInSeconds: number, repeats: boolean, context: TContext, onTime: (timer: ITimer<TContext>) => void): Timer<TContext>;
18
- }
19
- //# sourceMappingURL=TimerManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimerManager.d.ts","sourceRoot":"","sources":["../../../src/Utils/Timers/TimerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;IACpC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAM;IAE3B,MAAM;IAStB;;;;;;OAMG;IACI,QAAQ,CAAC,QAAQ,GAAG,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAG,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;CAO5J"}
@@ -1,33 +0,0 @@
1
- import { GlobalManager } from '../GlobalManager';
2
- import { Timer } from './Timer';
3
- /**
4
- * 允许动作的延迟和重复执行
5
- */
6
- export class TimerManager extends GlobalManager {
7
- constructor() {
8
- super(...arguments);
9
- this._timers = [];
10
- }
11
- update() {
12
- for (let i = this._timers.length - 1; i >= 0; i--) {
13
- if (this._timers[i].tick()) {
14
- this._timers[i].unload();
15
- this._timers.splice(i, 1);
16
- }
17
- }
18
- }
19
- /**
20
- * 调度一个一次性或重复的计时器,该计时器将调用已传递的动作
21
- * @param timeInSeconds
22
- * @param repeats
23
- * @param context
24
- * @param onTime
25
- */
26
- schedule(timeInSeconds, repeats, context, onTime) {
27
- let timer = new Timer();
28
- timer.initialize(timeInSeconds, repeats, context, onTime);
29
- this._timers.push(timer);
30
- return timer;
31
- }
32
- }
33
- //# sourceMappingURL=TimerManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimerManager.js","sourceRoot":"","sources":["../../../src/Utils/Timers/TimerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAA/C;;QACW,YAAO,GAA0B,EAAE,CAAC;IAyB/C,CAAC;IAvBmB,MAAM;QAClB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAG,EAAC,CAAC;YAChD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAqB,aAAqB,EAAE,OAAgB,EAAE,OAAiB,EAAE,MAAuC;QACnI,IAAI,KAAK,GAAG,IAAI,KAAK,EAAY,CAAC;QAClC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAuB,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -1,9 +0,0 @@
1
- export * from './Extensions';
2
- export * from './Pool';
3
- export * from './Emitter';
4
- export * from './GlobalManager';
5
- export * from './PerformanceMonitor';
6
- export { Time } from './Time';
7
- export * from './Debug';
8
- export * from './Logger';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -1,9 +0,0 @@
1
- export * from './Extensions';
2
- export * from './Pool';
3
- export * from './Emitter';
4
- export * from './GlobalManager';
5
- export * from './PerformanceMonitor';
6
- export { Time } from './Time';
7
- export * from './Debug';
8
- export * from './Logger';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}