@esengine/ecs-framework 2.0.3

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 (187) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +277 -0
  3. package/bin/Core.d.ts +198 -0
  4. package/bin/Core.d.ts.map +1 -0
  5. package/bin/Core.js +249 -0
  6. package/bin/Core.js.map +1 -0
  7. package/bin/ECS/Component.d.ts +119 -0
  8. package/bin/ECS/Component.d.ts.map +1 -0
  9. package/bin/ECS/Component.js +129 -0
  10. package/bin/ECS/Component.js.map +1 -0
  11. package/bin/ECS/Components/IUpdatable.d.ts +22 -0
  12. package/bin/ECS/Components/IUpdatable.d.ts.map +1 -0
  13. package/bin/ECS/Components/IUpdatable.js +17 -0
  14. package/bin/ECS/Components/IUpdatable.js.map +1 -0
  15. package/bin/ECS/Components/SceneComponent.d.ts +40 -0
  16. package/bin/ECS/Components/SceneComponent.d.ts.map +1 -0
  17. package/bin/ECS/Components/SceneComponent.js +57 -0
  18. package/bin/ECS/Components/SceneComponent.js.map +1 -0
  19. package/bin/ECS/Core/ComponentStorage.d.ts +182 -0
  20. package/bin/ECS/Core/ComponentStorage.d.ts.map +1 -0
  21. package/bin/ECS/Core/ComponentStorage.js +346 -0
  22. package/bin/ECS/Core/ComponentStorage.js.map +1 -0
  23. package/bin/ECS/Core/EventSystem.d.ts +236 -0
  24. package/bin/ECS/Core/EventSystem.d.ts.map +1 -0
  25. package/bin/ECS/Core/EventSystem.js +476 -0
  26. package/bin/ECS/Core/EventSystem.js.map +1 -0
  27. package/bin/ECS/Core/FluentAPI.d.ts +392 -0
  28. package/bin/ECS/Core/FluentAPI.d.ts.map +1 -0
  29. package/bin/ECS/Core/FluentAPI.js +575 -0
  30. package/bin/ECS/Core/FluentAPI.js.map +1 -0
  31. package/bin/ECS/Core/QuerySystem.d.ts +574 -0
  32. package/bin/ECS/Core/QuerySystem.d.ts.map +1 -0
  33. package/bin/ECS/Core/QuerySystem.js +1356 -0
  34. package/bin/ECS/Core/QuerySystem.js.map +1 -0
  35. package/bin/ECS/CoreEvents.d.ts +19 -0
  36. package/bin/ECS/CoreEvents.d.ts.map +1 -0
  37. package/bin/ECS/CoreEvents.js +20 -0
  38. package/bin/ECS/CoreEvents.js.map +1 -0
  39. package/bin/ECS/Entity.d.ts +585 -0
  40. package/bin/ECS/Entity.d.ts.map +1 -0
  41. package/bin/ECS/Entity.js +1079 -0
  42. package/bin/ECS/Entity.js.map +1 -0
  43. package/bin/ECS/Scene.d.ts +210 -0
  44. package/bin/ECS/Scene.d.ts.map +1 -0
  45. package/bin/ECS/Scene.js +267 -0
  46. package/bin/ECS/Scene.js.map +1 -0
  47. package/bin/ECS/Systems/EntitySystem.d.ts +185 -0
  48. package/bin/ECS/Systems/EntitySystem.d.ts.map +1 -0
  49. package/bin/ECS/Systems/EntitySystem.js +278 -0
  50. package/bin/ECS/Systems/EntitySystem.js.map +1 -0
  51. package/bin/ECS/Systems/IntervalSystem.d.ts +33 -0
  52. package/bin/ECS/Systems/IntervalSystem.d.ts.map +1 -0
  53. package/bin/ECS/Systems/IntervalSystem.js +50 -0
  54. package/bin/ECS/Systems/IntervalSystem.js.map +1 -0
  55. package/bin/ECS/Systems/PassiveSystem.d.ts +20 -0
  56. package/bin/ECS/Systems/PassiveSystem.d.ts.map +1 -0
  57. package/bin/ECS/Systems/PassiveSystem.js +21 -0
  58. package/bin/ECS/Systems/PassiveSystem.js.map +1 -0
  59. package/bin/ECS/Systems/ProcessingSystem.d.ts +24 -0
  60. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +1 -0
  61. package/bin/ECS/Systems/ProcessingSystem.js +22 -0
  62. package/bin/ECS/Systems/ProcessingSystem.js.map +1 -0
  63. package/bin/ECS/Systems/index.d.ts +5 -0
  64. package/bin/ECS/Systems/index.d.ts.map +1 -0
  65. package/bin/ECS/Systems/index.js +6 -0
  66. package/bin/ECS/Systems/index.js.map +1 -0
  67. package/bin/ECS/Transform.d.ts +178 -0
  68. package/bin/ECS/Transform.d.ts.map +1 -0
  69. package/bin/ECS/Transform.js +249 -0
  70. package/bin/ECS/Transform.js.map +1 -0
  71. package/bin/ECS/Utils/Bits.d.ts +74 -0
  72. package/bin/ECS/Utils/Bits.d.ts.map +1 -0
  73. package/bin/ECS/Utils/Bits.js +142 -0
  74. package/bin/ECS/Utils/Bits.js.map +1 -0
  75. package/bin/ECS/Utils/ComponentTypeManager.d.ts +50 -0
  76. package/bin/ECS/Utils/ComponentTypeManager.d.ts.map +1 -0
  77. package/bin/ECS/Utils/ComponentTypeManager.js +84 -0
  78. package/bin/ECS/Utils/ComponentTypeManager.js.map +1 -0
  79. package/bin/ECS/Utils/EntityList.d.ts +108 -0
  80. package/bin/ECS/Utils/EntityList.d.ts.map +1 -0
  81. package/bin/ECS/Utils/EntityList.js +249 -0
  82. package/bin/ECS/Utils/EntityList.js.map +1 -0
  83. package/bin/ECS/Utils/EntityProcessorList.d.ts +53 -0
  84. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +1 -0
  85. package/bin/ECS/Utils/EntityProcessorList.js +96 -0
  86. package/bin/ECS/Utils/EntityProcessorList.js.map +1 -0
  87. package/bin/ECS/Utils/IdentifierPool.d.ts +18 -0
  88. package/bin/ECS/Utils/IdentifierPool.d.ts.map +1 -0
  89. package/bin/ECS/Utils/IdentifierPool.js +27 -0
  90. package/bin/ECS/Utils/IdentifierPool.js.map +1 -0
  91. package/bin/ECS/Utils/Matcher.d.ts +63 -0
  92. package/bin/ECS/Utils/Matcher.d.ts.map +1 -0
  93. package/bin/ECS/Utils/Matcher.js +140 -0
  94. package/bin/ECS/Utils/Matcher.js.map +1 -0
  95. package/bin/ECS/Utils/index.d.ts +7 -0
  96. package/bin/ECS/Utils/index.d.ts.map +1 -0
  97. package/bin/ECS/Utils/index.js +8 -0
  98. package/bin/ECS/Utils/index.js.map +1 -0
  99. package/bin/ECS/index.d.ts +8 -0
  100. package/bin/ECS/index.d.ts.map +1 -0
  101. package/bin/ECS/index.js +9 -0
  102. package/bin/ECS/index.js.map +1 -0
  103. package/bin/Math/Edge.d.ts +23 -0
  104. package/bin/Math/Edge.d.ts.map +1 -0
  105. package/bin/Math/Edge.js +24 -0
  106. package/bin/Math/Edge.js.map +1 -0
  107. package/bin/Math/MathHelper.d.ts +75 -0
  108. package/bin/Math/MathHelper.d.ts.map +1 -0
  109. package/bin/Math/MathHelper.js +91 -0
  110. package/bin/Math/MathHelper.js.map +1 -0
  111. package/bin/Math/Rectangle.d.ts +126 -0
  112. package/bin/Math/Rectangle.d.ts.map +1 -0
  113. package/bin/Math/Rectangle.js +181 -0
  114. package/bin/Math/Rectangle.js.map +1 -0
  115. package/bin/Math/Vector2.d.ts +229 -0
  116. package/bin/Math/Vector2.d.ts.map +1 -0
  117. package/bin/Math/Vector2.js +338 -0
  118. package/bin/Math/Vector2.js.map +1 -0
  119. package/bin/Math/index.d.ts +5 -0
  120. package/bin/Math/index.d.ts.map +1 -0
  121. package/bin/Math/index.js +6 -0
  122. package/bin/Math/index.js.map +1 -0
  123. package/bin/Types/index.d.ts +22 -0
  124. package/bin/Types/index.d.ts.map +1 -0
  125. package/bin/Types/index.js +20 -0
  126. package/bin/Types/index.js.map +1 -0
  127. package/bin/Utils/Emitter.d.ts +43 -0
  128. package/bin/Utils/Emitter.d.ts.map +1 -0
  129. package/bin/Utils/Emitter.js +69 -0
  130. package/bin/Utils/Emitter.js.map +1 -0
  131. package/bin/Utils/Extensions/EdgeExt.d.ts +26 -0
  132. package/bin/Utils/Extensions/EdgeExt.d.ts.map +1 -0
  133. package/bin/Utils/Extensions/EdgeExt.js +41 -0
  134. package/bin/Utils/Extensions/EdgeExt.js.map +1 -0
  135. package/bin/Utils/Extensions/NumberExtension.d.ts +13 -0
  136. package/bin/Utils/Extensions/NumberExtension.d.ts.map +1 -0
  137. package/bin/Utils/Extensions/NumberExtension.js +17 -0
  138. package/bin/Utils/Extensions/NumberExtension.js.map +1 -0
  139. package/bin/Utils/Extensions/TypeUtils.d.ts +13 -0
  140. package/bin/Utils/Extensions/TypeUtils.d.ts.map +1 -0
  141. package/bin/Utils/Extensions/TypeUtils.js +15 -0
  142. package/bin/Utils/Extensions/TypeUtils.js.map +1 -0
  143. package/bin/Utils/Extensions/index.d.ts +4 -0
  144. package/bin/Utils/Extensions/index.d.ts.map +1 -0
  145. package/bin/Utils/Extensions/index.js +5 -0
  146. package/bin/Utils/Extensions/index.js.map +1 -0
  147. package/bin/Utils/GlobalManager.d.ts +32 -0
  148. package/bin/Utils/GlobalManager.d.ts.map +1 -0
  149. package/bin/Utils/GlobalManager.js +53 -0
  150. package/bin/Utils/GlobalManager.js.map +1 -0
  151. package/bin/Utils/PerformanceMonitor.d.ts +211 -0
  152. package/bin/Utils/PerformanceMonitor.d.ts.map +1 -0
  153. package/bin/Utils/PerformanceMonitor.js +270 -0
  154. package/bin/Utils/PerformanceMonitor.js.map +1 -0
  155. package/bin/Utils/Pool.d.ts +239 -0
  156. package/bin/Utils/Pool.d.ts.map +1 -0
  157. package/bin/Utils/Pool.js +449 -0
  158. package/bin/Utils/Pool.js.map +1 -0
  159. package/bin/Utils/Screen.d.ts +12 -0
  160. package/bin/Utils/Screen.d.ts.map +1 -0
  161. package/bin/Utils/Screen.js +14 -0
  162. package/bin/Utils/Screen.js.map +1 -0
  163. package/bin/Utils/Time.d.ts +55 -0
  164. package/bin/Utils/Time.d.ts.map +1 -0
  165. package/bin/Utils/Time.js +78 -0
  166. package/bin/Utils/Time.js.map +1 -0
  167. package/bin/Utils/Timers/ITimer.d.ts +16 -0
  168. package/bin/Utils/Timers/ITimer.d.ts.map +1 -0
  169. package/bin/Utils/Timers/ITimer.js +2 -0
  170. package/bin/Utils/Timers/ITimer.js.map +1 -0
  171. package/bin/Utils/Timers/Timer.d.ts +22 -0
  172. package/bin/Utils/Timers/Timer.d.ts.map +1 -0
  173. package/bin/Utils/Timers/Timer.js +46 -0
  174. package/bin/Utils/Timers/Timer.js.map +1 -0
  175. package/bin/Utils/Timers/TimerManager.d.ts +19 -0
  176. package/bin/Utils/Timers/TimerManager.d.ts.map +1 -0
  177. package/bin/Utils/Timers/TimerManager.js +33 -0
  178. package/bin/Utils/Timers/TimerManager.js.map +1 -0
  179. package/bin/Utils/index.d.ts +6 -0
  180. package/bin/Utils/index.d.ts.map +1 -0
  181. package/bin/Utils/index.js +7 -0
  182. package/bin/Utils/index.js.map +1 -0
  183. package/bin/index.d.ts +21 -0
  184. package/bin/index.d.ts.map +1 -0
  185. package/bin/index.js +26 -0
  186. package/bin/index.js.map +1 -0
  187. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Utils/Pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Vector2 } from '../Math/Vector2';
2
+ /**
3
+ * 屏幕工具类
4
+ * 提供屏幕尺寸相关的功能
5
+ */
6
+ export declare class Screen {
7
+ static width: number;
8
+ static height: number;
9
+ static get size(): Vector2;
10
+ static get center(): Vector2;
11
+ }
12
+ //# sourceMappingURL=Screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../src/Utils/Screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C;;;GAGG;AACH,qBAAa,MAAM;IACf,OAAc,KAAK,EAAE,MAAM,CAAC;IAC5B,OAAc,MAAM,EAAE,MAAM,CAAC;IAE7B,WAAkB,IAAI,IAAI,OAAO,CAEhC;IAED,WAAkB,MAAM,IAAI,OAAO,CAElC;CACJ"}
@@ -0,0 +1,14 @@
1
+ import { Vector2 } from '../Math/Vector2';
2
+ /**
3
+ * 屏幕工具类
4
+ * 提供屏幕尺寸相关的功能
5
+ */
6
+ export class Screen {
7
+ static get size() {
8
+ return new Vector2(this.width, this.height);
9
+ }
10
+ static get center() {
11
+ return new Vector2(this.width / 2, this.height / 2);
12
+ }
13
+ }
14
+ //# sourceMappingURL=Screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../../src/Utils/Screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C;;;GAGG;AACH,MAAM,OAAO,MAAM;IAIR,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ"}
@@ -0,0 +1,55 @@
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
+ * 上一帧的时间戳
32
+ */
33
+ private static _lastTime;
34
+ /**
35
+ * 是否为第一次更新
36
+ */
37
+ private static _isFirstUpdate;
38
+ /**
39
+ * 更新时间信息
40
+ * @param currentTime 当前时间戳(毫秒)
41
+ */
42
+ static update(currentTime?: number): void;
43
+ /**
44
+ * 场景改变时重置时间
45
+ */
46
+ static sceneChanged(): void;
47
+ /**
48
+ * 检查指定的时间间隔是否已经过去
49
+ * @param interval 时间间隔(秒)
50
+ * @param lastTime 上次检查的时间
51
+ * @returns 是否已经过去指定时间
52
+ */
53
+ static checkEvery(interval: number, lastTime: number): boolean;
54
+ }
55
+ //# sourceMappingURL=Time.d.ts.map
@@ -0,0 +1 @@
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;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS,CAAa;IAErC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc,CAAiB;IAE9C;;;OAGG;WACW,MAAM,CAAC,WAAW,GAAE,MAAW,GAAG,IAAI;IA0BpD;;OAEG;WACW,YAAY,IAAI,IAAI;IAIlC;;;;;OAKG;WACW,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGxE"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * 时间管理工具类
3
+ * 提供游戏时间相关的功能,包括帧时间、总时间、时间缩放等
4
+ */
5
+ export class Time {
6
+ /**
7
+ * 更新时间信息
8
+ * @param currentTime 当前时间戳(毫秒)
9
+ */
10
+ static update(currentTime = -1) {
11
+ if (currentTime === -1) {
12
+ currentTime = Date.now();
13
+ }
14
+ if (this._isFirstUpdate) {
15
+ this._lastTime = currentTime;
16
+ this._isFirstUpdate = false;
17
+ return;
18
+ }
19
+ // 计算帧时间间隔(转换为秒)
20
+ this.unscaledDeltaTime = (currentTime - this._lastTime) / 1000;
21
+ this.deltaTime = this.unscaledDeltaTime * this.timeScale;
22
+ // 更新总时间
23
+ this.unscaledTotalTime += this.unscaledDeltaTime;
24
+ this.totalTime += this.deltaTime;
25
+ // 更新帧数
26
+ this.frameCount++;
27
+ // 记录当前时间
28
+ this._lastTime = currentTime;
29
+ }
30
+ /**
31
+ * 场景改变时重置时间
32
+ */
33
+ static sceneChanged() {
34
+ this._isFirstUpdate = true;
35
+ }
36
+ /**
37
+ * 检查指定的时间间隔是否已经过去
38
+ * @param interval 时间间隔(秒)
39
+ * @param lastTime 上次检查的时间
40
+ * @returns 是否已经过去指定时间
41
+ */
42
+ static checkEvery(interval, lastTime) {
43
+ return this.totalTime - lastTime >= interval;
44
+ }
45
+ }
46
+ /**
47
+ * 上一帧到当前帧的时间间隔(秒)
48
+ */
49
+ Time.deltaTime = 0;
50
+ /**
51
+ * 未缩放的帧时间间隔(秒)
52
+ */
53
+ Time.unscaledDeltaTime = 0;
54
+ /**
55
+ * 游戏开始以来的总时间(秒)
56
+ */
57
+ Time.totalTime = 0;
58
+ /**
59
+ * 未缩放的总时间(秒)
60
+ */
61
+ Time.unscaledTotalTime = 0;
62
+ /**
63
+ * 时间缩放比例
64
+ */
65
+ Time.timeScale = 1;
66
+ /**
67
+ * 当前帧数
68
+ */
69
+ Time.frameCount = 0;
70
+ /**
71
+ * 上一帧的时间戳
72
+ */
73
+ Time._lastTime = 0;
74
+ /**
75
+ * 是否为第一次更新
76
+ */
77
+ Time._isFirstUpdate = true;
78
+ //# sourceMappingURL=Time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Time.js","sourceRoot":"","sources":["../../src/Utils/Time.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,IAAI;IAyCb;;;OAGG;IACI,MAAM,CAAC,MAAM,CAAC,cAAsB,CAAC,CAAC;QACzC,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,iBAAiB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;QAEzD,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;QAElB,SAAS;QACT,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,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;;AArFD;;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;AAErC;;GAEG;AACY,cAAS,GAAW,CAAC,CAAC;AAErC;;GAEG;AACY,mBAAc,GAAY,IAAI,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface ITimer {
2
+ context: any;
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITimer.d.ts","sourceRoot":"","sources":["../../../src/Utils/Timers/ITimer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,GAAG,CAAC;IAEb;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ITimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITimer.js","sourceRoot":"","sources":["../../../src/Utils/Timers/ITimer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { ITimer } from './ITimer';
2
+ /**
3
+ * 私有类隐藏ITimer的实现
4
+ */
5
+ export declare class Timer implements ITimer {
6
+ context: any;
7
+ _timeInSeconds: number;
8
+ _repeats: boolean;
9
+ _onTime: (timer: ITimer) => void;
10
+ _isDone: boolean;
11
+ _elapsedTime: number;
12
+ getContext<T>(): T;
13
+ reset(): void;
14
+ stop(): void;
15
+ tick(): boolean;
16
+ initialize(timeInsSeconds: number, repeats: boolean, context: any, onTime: (timer: ITimer) => void): void;
17
+ /**
18
+ * 空出对象引用,以便在js需要时GC可以清理它们的引用
19
+ */
20
+ unload(): void;
21
+ }
22
+ //# sourceMappingURL=Timer.d.ts.map
@@ -0,0 +1 @@
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,KAAM,YAAW,MAAM;IACzB,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,MAAM,CAAK;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,CAAS;IACzB,YAAY,EAAE,MAAM,CAAK;IAEzB,UAAU,CAAC,CAAC,KAAK,CAAC;IAIlB,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,IAAI;IAeJ,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAG,IAAI;IAOvG;;OAEG;IACI,MAAM;CAIhB"}
@@ -0,0 +1,46 @@
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
+ reset() {
16
+ this._elapsedTime = 0;
17
+ }
18
+ stop() {
19
+ this._isDone = true;
20
+ }
21
+ tick() {
22
+ // 如果stop在tick之前被调用,那么isDone将为true,我们不应该再做任何事情
23
+ if (!this._isDone && this._elapsedTime > this._timeInSeconds) {
24
+ this._elapsedTime -= this._timeInSeconds;
25
+ this._onTime(this);
26
+ if (!this._isDone && !this._repeats)
27
+ this._isDone = true;
28
+ }
29
+ this._elapsedTime += Time.deltaTime;
30
+ return this._isDone;
31
+ }
32
+ initialize(timeInsSeconds, repeats, context, onTime) {
33
+ this._timeInSeconds = timeInsSeconds;
34
+ this._repeats = repeats;
35
+ this.context = context;
36
+ this._onTime = onTime.bind(context);
37
+ }
38
+ /**
39
+ * 空出对象引用,以便在js需要时GC可以清理它们的引用
40
+ */
41
+ unload() {
42
+ this.context = null;
43
+ this._onTime = null;
44
+ }
45
+ }
46
+ //# sourceMappingURL=Timer.js.map
@@ -0,0 +1 @@
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;IA2CpC,CAAC;IAzCU,UAAU;QACb,OAAO,IAAI,CAAC,OAAY,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,OAAY,EAAE,MAA6B;QACnG,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,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAW,CAAC;IAC/B,CAAC;CACJ"}
@@ -0,0 +1,19 @@
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: Timer[];
9
+ update(): void;
10
+ /**
11
+ * 调度一个一次性或重复的计时器,该计时器将调用已传递的动作
12
+ * @param timeInSeconds
13
+ * @param repeats
14
+ * @param context
15
+ * @param onTime
16
+ */
17
+ schedule(timeInSeconds: number, repeats: boolean, context: any, onTime: (timer: ITimer) => void): Timer;
18
+ }
19
+ //# sourceMappingURL=TimerManager.d.ts.map
@@ -0,0 +1 @@
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,EAAE,CAAM;IAEb,MAAM;IAStB;;;;;;OAMG;IACI,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAG,IAAI;CAOvG"}
@@ -0,0 +1,33 @@
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
@@ -0,0 +1 @@
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,GAAY,EAAE,CAAC;IAyBjC,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,CAAC,aAAqB,EAAE,OAAgB,EAAE,OAAY,EAAE,MAA6B;QAChG,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export * from './Extensions';
2
+ export * from './Pool';
3
+ export * from './PerformanceMonitor';
4
+ export { Screen } from './Screen';
5
+ export { Time } from './Time';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ // 工具类导出
2
+ export * from './Extensions';
3
+ export * from './Pool';
4
+ export * from './PerformanceMonitor';
5
+ export { Screen } from './Screen';
6
+ export { Time } from './Time';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
package/bin/index.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * ECS Framework - 轻量级实体组件系统框架
3
+ * 适用于Laya、Cocos等游戏引擎的小游戏开发
4
+ * @version 2.0.0
5
+ * @author ECS Framework Team
6
+ */
7
+ export { Core } from './Core';
8
+ export { CoreEvents } from './ECS/CoreEvents';
9
+ export { Emitter, FuncPack } from './Utils/Emitter';
10
+ export { GlobalManager } from './Utils/GlobalManager';
11
+ export { TimerManager } from './Utils/Timers/TimerManager';
12
+ export { ITimer } from './Utils/Timers/ITimer';
13
+ export { Timer } from './Utils/Timers/Timer';
14
+ export * from './ECS';
15
+ export * from './Math';
16
+ export { Screen } from './Utils/Screen';
17
+ export * from './Utils/Pool';
18
+ export * from './Utils/PerformanceMonitor';
19
+ export * from './Utils/Extensions';
20
+ export * from './Types';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,cAAc,OAAO,CAAC;AAGtB,cAAc,QAAQ,CAAC;AAGvB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,SAAS,CAAC"}
package/bin/index.js ADDED
@@ -0,0 +1,26 @@
1
+ /**
2
+ * ECS Framework - 轻量级实体组件系统框架
3
+ * 适用于Laya、Cocos等游戏引擎的小游戏开发
4
+ * @version 2.0.0
5
+ * @author ECS Framework Team
6
+ */
7
+ // 核心模块
8
+ export { Core } from './Core';
9
+ // 核心事件和管理器
10
+ export { CoreEvents } from './ECS/CoreEvents';
11
+ export { Emitter, FuncPack } from './Utils/Emitter';
12
+ export { GlobalManager } from './Utils/GlobalManager';
13
+ export { TimerManager } from './Utils/Timers/TimerManager';
14
+ export { Timer } from './Utils/Timers/Timer';
15
+ // ECS核心
16
+ export * from './ECS';
17
+ // 数学库
18
+ export * from './Math';
19
+ // 工具类
20
+ export { Screen } from './Utils/Screen';
21
+ export * from './Utils/Pool';
22
+ export * from './Utils/PerformanceMonitor';
23
+ export * from './Utils/Extensions';
24
+ // 类型定义
25
+ export * from './Types';
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,WAAW;AACX,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,QAAQ;AACR,cAAc,OAAO,CAAC;AAEtB,MAAM;AACN,cAAc,QAAQ,CAAC;AAEvB,MAAM;AACN,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AAEnC,OAAO;AACP,cAAc,SAAS,CAAC"}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@esengine/ecs-framework",
3
+ "version": "2.0.3",
4
+ "description": "用于Laya、Cocos等游戏引擎的高性能ECS框架",
5
+ "main": "bin/index.js",
6
+ "types": "bin/index.d.ts",
7
+ "files": [
8
+ "bin/**/*",
9
+ "README.md",
10
+ "LICENSE"
11
+ ],
12
+ "keywords": [
13
+ "ecs",
14
+ "entity-component-system",
15
+ "game-engine",
16
+ "typescript",
17
+ "laya",
18
+ "cocos",
19
+ "egret"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "build:watch": "tsc --watch",
24
+ "clean": "rimraf bin",
25
+ "rebuild": "npm run clean && npm run build",
26
+ "test": "jest",
27
+ "test:watch": "jest --watch",
28
+ "test:coverage": "jest --coverage",
29
+ "lint": "eslint src --ext .ts",
30
+ "lint:fix": "eslint src --ext .ts --fix",
31
+ "prepublishOnly": "npm run rebuild",
32
+ "publish:patch": "npm run rebuild && npm version patch && npm publish",
33
+ "publish:minor": "npm run rebuild && npm version minor && npm publish",
34
+ "publish:major": "npm run rebuild && npm version major && npm publish",
35
+ "pack:check": "npm run rebuild && npm pack --dry-run",
36
+ "check": "node scripts/check-publish.js"
37
+ },
38
+ "author": "yhh",
39
+ "license": "MIT",
40
+ "devDependencies": {
41
+ "@babel/core": "^7.27.4",
42
+ "@babel/preset-env": "^7.27.2",
43
+ "browserify": "^17.0.1",
44
+ "gulp": "^5.0.1",
45
+ "gulp-babel": "^8.0.0",
46
+ "gulp-concat": "^2.6.1",
47
+ "gulp-inject-string": "^1.1.2",
48
+ "gulp-terser": "^2.1.0",
49
+ "gulp-string-replace": "^1.1.2",
50
+ "gulp-typescript": "^6.0.0-alpha.1",
51
+ "gulp-uglify": "^3.0.2",
52
+ "merge2": "^1.4.1",
53
+ "rimraf": "^5.0.0",
54
+ "tsify": "^5.0.4",
55
+ "typedoc": "^0.28.5",
56
+ "typescript": "^5.8.3",
57
+ "vinyl-source-stream": "^2.0.0",
58
+ "watchify": "^4.0.0"
59
+ },
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "repository": {
64
+ "type": "git",
65
+ "url": "https://github.com/esengine/ecs-framework.git"
66
+ },
67
+ "dependencies": {}
68
+ }