@esengine/ecs-framework 2.1.4 → 2.1.5

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 (201) hide show
  1. package/README.md +385 -0
  2. package/{bin/index.d.ts → index.d.ts} +9 -6
  3. package/index.js +7 -0
  4. package/index.js.map +7 -0
  5. package/package.json +20 -46
  6. package/bin/Core.d.ts +0 -198
  7. package/bin/Core.d.ts.map +0 -1
  8. package/bin/Core.js +0 -247
  9. package/bin/Core.js.map +0 -1
  10. package/bin/ECS/Component.d.ts +0 -119
  11. package/bin/ECS/Component.d.ts.map +0 -1
  12. package/bin/ECS/Component.js +0 -129
  13. package/bin/ECS/Component.js.map +0 -1
  14. package/bin/ECS/Components/IUpdatable.d.ts +0 -22
  15. package/bin/ECS/Components/IUpdatable.d.ts.map +0 -1
  16. package/bin/ECS/Components/IUpdatable.js +0 -22
  17. package/bin/ECS/Components/IUpdatable.js.map +0 -1
  18. package/bin/ECS/Components/SceneComponent.d.ts +0 -40
  19. package/bin/ECS/Components/SceneComponent.d.ts.map +0 -1
  20. package/bin/ECS/Components/SceneComponent.js +0 -61
  21. package/bin/ECS/Components/SceneComponent.js.map +0 -1
  22. package/bin/ECS/Core/BitMaskOptimizer.d.ts +0 -75
  23. package/bin/ECS/Core/BitMaskOptimizer.d.ts.map +0 -1
  24. package/bin/ECS/Core/BitMaskOptimizer.js +0 -161
  25. package/bin/ECS/Core/BitMaskOptimizer.js.map +0 -1
  26. package/bin/ECS/Core/ComponentPool.d.ts +0 -72
  27. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  28. package/bin/ECS/Core/ComponentPool.js +0 -123
  29. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  30. package/bin/ECS/Core/ComponentStorage.d.ts +0 -182
  31. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  32. package/bin/ECS/Core/ComponentStorage.js +0 -346
  33. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  34. package/bin/ECS/Core/EventSystem.d.ts +0 -236
  35. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  36. package/bin/ECS/Core/EventSystem.js +0 -476
  37. package/bin/ECS/Core/EventSystem.js.map +0 -1
  38. package/bin/ECS/Core/FluentAPI.d.ts +0 -371
  39. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  40. package/bin/ECS/Core/FluentAPI.js +0 -543
  41. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  42. package/bin/ECS/Core/IndexUpdateBatcher.d.ts +0 -100
  43. package/bin/ECS/Core/IndexUpdateBatcher.d.ts.map +0 -1
  44. package/bin/ECS/Core/IndexUpdateBatcher.js +0 -219
  45. package/bin/ECS/Core/IndexUpdateBatcher.js.map +0 -1
  46. package/bin/ECS/Core/QuerySystem.d.ts +0 -422
  47. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  48. package/bin/ECS/Core/QuerySystem.js +0 -937
  49. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  50. package/bin/ECS/CoreEvents.d.ts +0 -19
  51. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  52. package/bin/ECS/CoreEvents.js +0 -20
  53. package/bin/ECS/CoreEvents.js.map +0 -1
  54. package/bin/ECS/Entity.d.ts +0 -538
  55. package/bin/ECS/Entity.d.ts.map +0 -1
  56. package/bin/ECS/Entity.js +0 -1030
  57. package/bin/ECS/Entity.js.map +0 -1
  58. package/bin/ECS/Scene.d.ts +0 -226
  59. package/bin/ECS/Scene.d.ts.map +0 -1
  60. package/bin/ECS/Scene.js +0 -308
  61. package/bin/ECS/Scene.js.map +0 -1
  62. package/bin/ECS/Systems/EntitySystem.d.ts +0 -185
  63. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  64. package/bin/ECS/Systems/EntitySystem.js +0 -278
  65. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  66. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  67. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  68. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  69. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  70. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -20
  71. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  72. package/bin/ECS/Systems/PassiveSystem.js +0 -21
  73. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  74. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -24
  75. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  76. package/bin/ECS/Systems/ProcessingSystem.js +0 -22
  77. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  78. package/bin/ECS/Systems/index.d.ts +0 -5
  79. package/bin/ECS/Systems/index.d.ts.map +0 -1
  80. package/bin/ECS/Systems/index.js +0 -6
  81. package/bin/ECS/Systems/index.js.map +0 -1
  82. package/bin/ECS/Utils/Bits.d.ts +0 -74
  83. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  84. package/bin/ECS/Utils/Bits.js +0 -142
  85. package/bin/ECS/Utils/Bits.js.map +0 -1
  86. package/bin/ECS/Utils/ComponentTypeManager.d.ts +0 -50
  87. package/bin/ECS/Utils/ComponentTypeManager.d.ts.map +0 -1
  88. package/bin/ECS/Utils/ComponentTypeManager.js +0 -84
  89. package/bin/ECS/Utils/ComponentTypeManager.js.map +0 -1
  90. package/bin/ECS/Utils/EntityList.d.ts +0 -108
  91. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  92. package/bin/ECS/Utils/EntityList.js +0 -249
  93. package/bin/ECS/Utils/EntityList.js.map +0 -1
  94. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -53
  95. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  96. package/bin/ECS/Utils/EntityProcessorList.js +0 -96
  97. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  98. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -18
  99. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  100. package/bin/ECS/Utils/IdentifierPool.js +0 -27
  101. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  102. package/bin/ECS/Utils/Matcher.d.ts +0 -63
  103. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  104. package/bin/ECS/Utils/Matcher.js +0 -140
  105. package/bin/ECS/Utils/Matcher.js.map +0 -1
  106. package/bin/ECS/Utils/index.d.ts +0 -7
  107. package/bin/ECS/Utils/index.d.ts.map +0 -1
  108. package/bin/ECS/Utils/index.js +0 -8
  109. package/bin/ECS/Utils/index.js.map +0 -1
  110. package/bin/ECS/index.d.ts +0 -7
  111. package/bin/ECS/index.d.ts.map +0 -1
  112. package/bin/ECS/index.js +0 -29
  113. package/bin/ECS/index.js.map +0 -1
  114. package/bin/Testing/Performance/benchmark.d.ts +0 -6
  115. package/bin/Testing/Performance/benchmark.d.ts.map +0 -1
  116. package/bin/Testing/Performance/benchmark.js +0 -639
  117. package/bin/Testing/Performance/benchmark.js.map +0 -1
  118. package/bin/Testing/Performance/component-performance.d.ts +0 -2
  119. package/bin/Testing/Performance/component-performance.d.ts.map +0 -1
  120. package/bin/Testing/Performance/component-performance.js +0 -43
  121. package/bin/Testing/Performance/component-performance.js.map +0 -1
  122. package/bin/Testing/Unit/bitmask-optimizer.test.d.ts +0 -2
  123. package/bin/Testing/Unit/bitmask-optimizer.test.d.ts.map +0 -1
  124. package/bin/Testing/Unit/bitmask-optimizer.test.js +0 -164
  125. package/bin/Testing/Unit/bitmask-optimizer.test.js.map +0 -1
  126. package/bin/Testing/Unit/component-pool.test.d.ts +0 -5
  127. package/bin/Testing/Unit/component-pool.test.d.ts.map +0 -1
  128. package/bin/Testing/Unit/component-pool.test.js +0 -149
  129. package/bin/Testing/Unit/component-pool.test.js.map +0 -1
  130. package/bin/Testing/test-runner.d.ts +0 -51
  131. package/bin/Testing/test-runner.d.ts.map +0 -1
  132. package/bin/Testing/test-runner.js +0 -159
  133. package/bin/Testing/test-runner.js.map +0 -1
  134. package/bin/Types/index.d.ts +0 -22
  135. package/bin/Types/index.d.ts.map +0 -1
  136. package/bin/Types/index.js +0 -20
  137. package/bin/Types/index.js.map +0 -1
  138. package/bin/Utils/Emitter.d.ts +0 -43
  139. package/bin/Utils/Emitter.d.ts.map +0 -1
  140. package/bin/Utils/Emitter.js +0 -69
  141. package/bin/Utils/Emitter.js.map +0 -1
  142. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  143. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  144. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  145. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  146. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  147. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  148. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  149. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  150. package/bin/Utils/Extensions/index.d.ts +0 -3
  151. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  152. package/bin/Utils/Extensions/index.js +0 -4
  153. package/bin/Utils/Extensions/index.js.map +0 -1
  154. package/bin/Utils/GlobalManager.d.ts +0 -32
  155. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  156. package/bin/Utils/GlobalManager.js +0 -53
  157. package/bin/Utils/GlobalManager.js.map +0 -1
  158. package/bin/Utils/PerformanceMonitor.d.ts +0 -211
  159. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  160. package/bin/Utils/PerformanceMonitor.js +0 -270
  161. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  162. package/bin/Utils/Pool.d.ts +0 -239
  163. package/bin/Utils/Pool.d.ts.map +0 -1
  164. package/bin/Utils/Pool.js +0 -449
  165. package/bin/Utils/Pool.js.map +0 -1
  166. package/bin/Utils/Time.d.ts +0 -55
  167. package/bin/Utils/Time.d.ts.map +0 -1
  168. package/bin/Utils/Time.js +0 -78
  169. package/bin/Utils/Time.js.map +0 -1
  170. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  171. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  172. package/bin/Utils/Timers/ITimer.js +0 -2
  173. package/bin/Utils/Timers/ITimer.js.map +0 -1
  174. package/bin/Utils/Timers/Timer.d.ts +0 -22
  175. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  176. package/bin/Utils/Timers/Timer.js +0 -46
  177. package/bin/Utils/Timers/Timer.js.map +0 -1
  178. package/bin/Utils/Timers/TimerManager.d.ts +0 -19
  179. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  180. package/bin/Utils/Timers/TimerManager.js +0 -33
  181. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  182. package/bin/Utils/WasmCore.d.ts +0 -234
  183. package/bin/Utils/WasmCore.d.ts.map +0 -1
  184. package/bin/Utils/WasmCore.js +0 -596
  185. package/bin/Utils/WasmCore.js.map +0 -1
  186. package/bin/Utils/index.d.ts +0 -16
  187. package/bin/Utils/index.d.ts.map +0 -1
  188. package/bin/Utils/index.js +0 -37
  189. package/bin/Utils/index.js.map +0 -1
  190. package/bin/index.cjs +0 -51
  191. package/bin/index.d.ts.map +0 -1
  192. package/bin/index.esm.d.ts +0 -45
  193. package/bin/index.esm.d.ts.map +0 -1
  194. package/bin/index.esm.js +0 -46
  195. package/bin/index.esm.js.map +0 -1
  196. package/bin/index.js.map +0 -1
  197. package/bin/wasm/ecs_wasm_core.d.ts +0 -141
  198. package/bin/wasm/ecs_wasm_core.js +0 -415
  199. package/bin/wasm/ecs_wasm_core_bg.wasm +0 -0
  200. package/bin/wasm/ecs_wasm_core_bg.wasm.d.ts +0 -29
  201. package/bin/wasm/package.json +0 -15
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuerySystem.js","sourceRoot":"","sources":["../../../src/ECS/Core/QuerySystem.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * 核心事件枚举
3
- * 定义框架中的核心事件类型
4
- */
5
- export declare enum CoreEvents {
6
- /**
7
- * 当场景发生变化时触发
8
- */
9
- sceneChanged = 0,
10
- /**
11
- * 每帧更新事件
12
- */
13
- frameUpdated = 1,
14
- /**
15
- * 当渲染发生时触发
16
- */
17
- renderChanged = 2
18
- }
19
- //# sourceMappingURL=CoreEvents.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreEvents.d.ts","sourceRoot":"","sources":["../../src/ECS/CoreEvents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,UAAU;IAClB;;OAEG;IACH,YAAY,IAAA;IACZ;;OAEG;IACH,YAAY,IAAA;IACZ;;OAEG;IACH,aAAa,IAAA;CAChB"}
@@ -1,20 +0,0 @@
1
- /**
2
- * 核心事件枚举
3
- * 定义框架中的核心事件类型
4
- */
5
- export var CoreEvents;
6
- (function (CoreEvents) {
7
- /**
8
- * 当场景发生变化时触发
9
- */
10
- CoreEvents[CoreEvents["sceneChanged"] = 0] = "sceneChanged";
11
- /**
12
- * 每帧更新事件
13
- */
14
- CoreEvents[CoreEvents["frameUpdated"] = 1] = "frameUpdated";
15
- /**
16
- * 当渲染发生时触发
17
- */
18
- CoreEvents[CoreEvents["renderChanged"] = 2] = "renderChanged";
19
- })(CoreEvents || (CoreEvents = {}));
20
- //# sourceMappingURL=CoreEvents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreEvents.js","sourceRoot":"","sources":["../../src/ECS/CoreEvents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IAClB;;OAEG;IACH,2DAAY,CAAA;IACZ;;OAEG;IACH,2DAAY,CAAA;IACZ;;OAEG;IACH,6DAAa,CAAA;AACjB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB"}
@@ -1,538 +0,0 @@
1
- import { Component } from './Component';
2
- import { ComponentType } from './Core/ComponentStorage';
3
- /**
4
- * 实体比较器
5
- *
6
- * 用于比较两个实体的优先级,首先按更新顺序比较,然后按ID比较。
7
- */
8
- export declare class EntityComparer {
9
- /**
10
- * 比较两个实体
11
- *
12
- * @param self - 第一个实体
13
- * @param other - 第二个实体
14
- * @returns 比较结果,负数表示self优先级更高,正数表示other优先级更高,0表示相等
15
- */
16
- compare(self: Entity, other: Entity): number;
17
- }
18
- /**
19
- * 组件缓存配置
20
- */
21
- interface ComponentCacheConfig {
22
- maxSize: number;
23
- ttl: number;
24
- enableLRU: boolean;
25
- }
26
- /**
27
- * 高性能组件缓存
28
- */
29
- declare class ComponentCache {
30
- private cache;
31
- private accessOrder;
32
- private config;
33
- constructor(config?: ComponentCacheConfig);
34
- get<T extends Component>(type: ComponentType<T>): T | null;
35
- set<T extends Component>(type: ComponentType<T>, component: T): void;
36
- delete(type: ComponentType): boolean;
37
- clear(): void;
38
- has(type: ComponentType): boolean;
39
- private evictLeastRecentlyUsed;
40
- private updateAccessOrder;
41
- private removeFromAccessOrder;
42
- getStats(): {
43
- size: number;
44
- maxSize: number;
45
- hitRate: number;
46
- averageAccessCount: number;
47
- };
48
- }
49
- /**
50
- * 游戏实体类
51
- *
52
- * ECS架构中的实体(Entity),作为组件的容器。
53
- * 实体本身不包含游戏逻辑,所有功能都通过组件来实现。
54
- * 支持父子关系,可以构建实体层次结构。
55
- *
56
- * @example
57
- * ```typescript
58
- * // 创建实体
59
- * const entity = new Entity("Player", 1);
60
- *
61
- * // 添加组件
62
- * const healthComponent = entity.addComponent(new HealthComponent(100));
63
- *
64
- * // 获取组件
65
- * const health = entity.getComponent(HealthComponent);
66
- *
67
- * // 设置位置
68
- * entity.position = new Vector2(100, 200);
69
- *
70
- * // 添加子实体
71
- * const weapon = new Entity("Weapon", 2);
72
- * entity.addChild(weapon);
73
- * ```
74
- */
75
- export declare class Entity {
76
- /**
77
- * 实体比较器实例
78
- */
79
- static entityComparer: EntityComparer;
80
- /**
81
- * 实体名称
82
- *
83
- * 用于标识和调试的友好名称。
84
- */
85
- name: string;
86
- /**
87
- * 实体唯一标识符
88
- *
89
- * 在场景中唯一的数字标识符。
90
- */
91
- readonly id: number;
92
- /**
93
- * 组件集合
94
- *
95
- * 存储实体拥有的所有组件。
96
- */
97
- readonly components: Component[];
98
- /**
99
- * 所属场景引用
100
- *
101
- * 指向实体所在的场景实例。
102
- */
103
- scene: any;
104
- /**
105
- * 更新间隔
106
- *
107
- * 控制实体更新的频率,值越大更新越不频繁。
108
- */
109
- updateInterval: number;
110
- /**
111
- * 销毁状态标志
112
- *
113
- * 标记实体是否已被销毁。
114
- */
115
- _isDestroyed: boolean;
116
- /**
117
- * 父实体引用
118
- *
119
- * 指向父级实体,用于构建实体层次结构。
120
- */
121
- private _parent;
122
- /**
123
- * 子实体集合
124
- *
125
- * 存储所有子级实体的数组。
126
- */
127
- private _children;
128
- /**
129
- * 激活状态
130
- *
131
- * 控制实体是否处于激活状态。
132
- */
133
- private _active;
134
- /**
135
- * 实体标签
136
- *
137
- * 用于分类和查询的数字标签。
138
- */
139
- private _tag;
140
- /**
141
- * 启用状态
142
- *
143
- * 控制实体是否启用更新和处理。
144
- */
145
- private _enabled;
146
- /**
147
- * 更新顺序
148
- *
149
- * 控制实体在系统中的更新优先级。
150
- */
151
- private _updateOrder;
152
- /**
153
- * 组件位掩码
154
- *
155
- * 用于快速查询实体拥有的组件类型。
156
- */
157
- private _componentMask;
158
- /**
159
- * 组件类型到索引的映射
160
- *
161
- * 用于快速定位组件在数组中的位置。
162
- */
163
- private _componentTypeToIndex;
164
- /**
165
- * 组件缓存
166
- *
167
- * 高性能组件访问缓存。
168
- */
169
- private _componentCache;
170
- /**
171
- * 组件访问统计
172
- *
173
- * 记录组件访问的性能统计信息。
174
- */
175
- private _componentAccessStats;
176
- /**
177
- * 构造函数
178
- *
179
- * @param name - 实体名称
180
- * @param id - 实体唯一标识符
181
- */
182
- constructor(name: string, id: number);
183
- /**
184
- * 获取销毁状态
185
- *
186
- * @returns 如果实体已被销毁则返回true
187
- */
188
- get isDestroyed(): boolean;
189
- /**
190
- * 获取父实体
191
- *
192
- * @returns 父实体,如果没有父实体则返回null
193
- */
194
- get parent(): Entity | null;
195
- /**
196
- * 获取子实体数组的只读副本
197
- *
198
- * @returns 子实体数组的副本
199
- */
200
- get children(): readonly Entity[];
201
- /**
202
- * 获取子实体数量
203
- *
204
- * @returns 子实体的数量
205
- */
206
- get childCount(): number;
207
- /**
208
- * 获取活跃状态
209
- *
210
- * @returns 如果实体处于活跃状态则返回true
211
- */
212
- get active(): boolean;
213
- /**
214
- * 设置活跃状态
215
- *
216
- * 设置实体的活跃状态,会影响子实体的有效活跃状态。
217
- *
218
- * @param value - 新的活跃状态
219
- */
220
- set active(value: boolean);
221
- /**
222
- * 获取实体的有效活跃状态
223
- *
224
- * 考虑父实体的活跃状态,只有当实体本身和所有父实体都处于活跃状态时才返回true。
225
- *
226
- * @returns 有效的活跃状态
227
- */
228
- get activeInHierarchy(): boolean;
229
- /**
230
- * 获取实体标签
231
- *
232
- * @returns 实体的数字标签
233
- */
234
- get tag(): number;
235
- /**
236
- * 设置实体标签
237
- *
238
- * @param value - 新的标签值
239
- */
240
- set tag(value: number);
241
- /**
242
- * 获取启用状态
243
- *
244
- * @returns 如果实体已启用则返回true
245
- */
246
- get enabled(): boolean;
247
- /**
248
- * 设置启用状态
249
- *
250
- * @param value - 新的启用状态
251
- */
252
- set enabled(value: boolean);
253
- /**
254
- * 获取更新顺序
255
- *
256
- * @returns 实体的更新顺序值
257
- */
258
- get updateOrder(): number;
259
- /**
260
- * 设置更新顺序
261
- *
262
- * @param value - 新的更新顺序值
263
- */
264
- set updateOrder(value: number);
265
- /**
266
- * 获取组件位掩码
267
- *
268
- * @returns 实体的组件位掩码
269
- */
270
- get componentMask(): bigint;
271
- /**
272
- * 创建并添加组件
273
- *
274
- * @param componentType - 组件类型
275
- * @param args - 组件构造函数参数
276
- * @returns 创建的组件实例
277
- */
278
- createComponent<T extends Component>(componentType: ComponentType<T>, ...args: any[]): T;
279
- /**
280
- * 内部添加组件方法(不进行重复检查,用于初始化)
281
- *
282
- * @param component - 要添加的组件实例
283
- * @returns 添加的组件实例
284
- */
285
- private addComponentInternal;
286
- /**
287
- * 添加组件到实体
288
- *
289
- * @param component - 要添加的组件实例
290
- * @returns 添加的组件实例
291
- * @throws {Error} 如果组件类型已存在
292
- */
293
- addComponent<T extends Component>(component: T): T;
294
- /**
295
- * 获取指定类型的组件
296
- *
297
- * @param type - 组件类型
298
- * @returns 组件实例或null
299
- */
300
- getComponent<T extends Component>(type: ComponentType<T>): T | null;
301
- /**
302
- * 更新组件访问统计
303
- *
304
- * @param type - 组件类型
305
- */
306
- private updateComponentAccessStats;
307
- /**
308
- * 记录缓存命中
309
- *
310
- * @param type - 组件类型
311
- */
312
- private recordCacheHit;
313
- /**
314
- * 记录缓存未命中
315
- *
316
- * @param type - 组件类型
317
- */
318
- private recordCacheMiss;
319
- /**
320
- * 重建组件索引映射
321
- */
322
- private rebuildComponentIndex;
323
- /**
324
- * 检查实体是否有指定类型的组件
325
- *
326
- * @param type - 组件类型
327
- * @returns 如果有该组件则返回true
328
- */
329
- hasComponent<T extends Component>(type: ComponentType<T>): boolean;
330
- /**
331
- * 获取或创建指定类型的组件
332
- *
333
- * @param type - 组件类型
334
- * @param args - 组件构造函数参数(仅在创建时使用)
335
- * @returns 组件实例
336
- */
337
- getOrCreateComponent<T extends Component>(type: ComponentType<T>, ...args: any[]): T;
338
- /**
339
- * 移除指定的组件
340
- *
341
- * @param component - 要移除的组件实例
342
- */
343
- removeComponent(component: Component): void;
344
- /**
345
- * 移除指定类型的组件
346
- *
347
- * @param type - 组件类型
348
- * @returns 被移除的组件实例或null
349
- */
350
- removeComponentByType<T extends Component>(type: ComponentType<T>): T | null;
351
- /**
352
- * 移除所有组件
353
- */
354
- removeAllComponents(): void;
355
- /**
356
- * 批量添加组件
357
- *
358
- * @param components - 要添加的组件数组
359
- * @returns 添加的组件数组
360
- */
361
- addComponents<T extends Component>(components: T[]): T[];
362
- /**
363
- * 批量移除组件类型
364
- *
365
- * @param componentTypes - 要移除的组件类型数组
366
- * @returns 被移除的组件数组
367
- */
368
- removeComponentsByTypes<T extends Component>(componentTypes: ComponentType<T>[]): (T | null)[];
369
- /**
370
- * 获取组件缓存统计信息
371
- *
372
- * @returns 缓存统计信息
373
- */
374
- getComponentCacheStats(): {
375
- cacheStats: ReturnType<ComponentCache['getStats']>;
376
- accessStats: Map<string, {
377
- accessCount: number;
378
- lastAccessed: number;
379
- cacheHits: number;
380
- cacheMisses: number;
381
- hitRate: number;
382
- }>;
383
- indexMappingSize: number;
384
- totalComponents: number;
385
- };
386
- /**
387
- * 预热组件缓存
388
- *
389
- * 将所有组件添加到缓存中,提升后续访问性能
390
- */
391
- warmUpComponentCache(): void;
392
- /**
393
- * 清理组件缓存
394
- *
395
- * 清除过期的缓存项,释放内存
396
- */
397
- cleanupComponentCache(): void;
398
- /**
399
- * 获取所有指定类型的组件
400
- *
401
- * @param type - 组件类型
402
- * @returns 组件实例数组
403
- */
404
- getComponents<T extends Component>(type: ComponentType<T>): T[];
405
- /**
406
- * 添加子实体
407
- *
408
- * @param child - 要添加的子实体
409
- * @returns 添加的子实体
410
- */
411
- addChild(child: Entity): Entity;
412
- /**
413
- * 移除子实体
414
- *
415
- * @param child - 要移除的子实体
416
- * @returns 是否成功移除
417
- */
418
- removeChild(child: Entity): boolean;
419
- /**
420
- * 移除所有子实体
421
- */
422
- removeAllChildren(): void;
423
- /**
424
- * 根据名称查找子实体
425
- *
426
- * @param name - 子实体名称
427
- * @param recursive - 是否递归查找
428
- * @returns 找到的子实体或null
429
- */
430
- findChild(name: string, recursive?: boolean): Entity | null;
431
- /**
432
- * 根据标签查找子实体
433
- *
434
- * @param tag - 标签
435
- * @param recursive - 是否递归查找
436
- * @returns 找到的子实体数组
437
- */
438
- findChildrenByTag(tag: number, recursive?: boolean): Entity[];
439
- /**
440
- * 获取根实体
441
- *
442
- * @returns 层次结构的根实体
443
- */
444
- getRoot(): Entity;
445
- /**
446
- * 检查是否是指定实体的祖先
447
- *
448
- * @param entity - 要检查的实体
449
- * @returns 如果是祖先则返回true
450
- */
451
- isAncestorOf(entity: Entity): boolean;
452
- /**
453
- * 检查是否是指定实体的后代
454
- *
455
- * @param entity - 要检查的实体
456
- * @returns 如果是后代则返回true
457
- */
458
- isDescendantOf(entity: Entity): boolean;
459
- /**
460
- * 获取层次深度
461
- *
462
- * @returns 在层次结构中的深度(根实体为0)
463
- */
464
- getDepth(): number;
465
- /**
466
- * 遍历所有子实体(深度优先)
467
- *
468
- * @param callback - 对每个子实体执行的回调函数
469
- * @param recursive - 是否递归遍历
470
- */
471
- forEachChild(callback: (child: Entity, index: number) => void, recursive?: boolean): void;
472
- /**
473
- * 活跃状态改变时的回调
474
- */
475
- private onActiveChanged;
476
- /**
477
- * 更新实体
478
- *
479
- * 调用所有组件的更新方法,并更新子实体。
480
- */
481
- update(): void;
482
- /**
483
- * 销毁实体
484
- *
485
- * 移除所有组件、子实体并标记为已销毁。
486
- */
487
- destroy(): void;
488
- /**
489
- * 比较实体
490
- *
491
- * @param other - 另一个实体
492
- * @returns 比较结果
493
- */
494
- compareTo(other: Entity): number;
495
- /**
496
- * 获取实体的字符串表示
497
- *
498
- * @returns 实体的字符串描述
499
- */
500
- toString(): string;
501
- /**
502
- * 获取实体的调试信息(包含组件缓存信息)
503
- *
504
- * @returns 包含实体详细信息的对象
505
- */
506
- getDebugInfo(): {
507
- name: string;
508
- id: number;
509
- enabled: boolean;
510
- active: boolean;
511
- activeInHierarchy: boolean;
512
- destroyed: boolean;
513
- componentCount: number;
514
- componentTypes: string[];
515
- componentMask: string;
516
- parentId: number | null;
517
- childCount: number;
518
- childIds: number[];
519
- depth: number;
520
- componentCache: {
521
- size: number;
522
- maxSize: number;
523
- hitRate: number;
524
- averageAccessCount: number;
525
- };
526
- componentAccessStats: Array<{
527
- componentType: string;
528
- accessCount: number;
529
- cacheHits: number;
530
- cacheMisses: number;
531
- hitRate: number;
532
- lastAccessed: string;
533
- }>;
534
- indexMappingSize: number;
535
- };
536
- }
537
- export {};
538
- //# sourceMappingURL=Entity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/ECS/Entity.ts"],"names":[],"mappings":"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"}