@esengine/ecs-framework 2.0.6 → 2.0.8
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.
- package/bin/Core.js +21 -17
- package/bin/Core.js.map +1 -1
- package/bin/ECS/Component.js +5 -1
- package/bin/ECS/Component.js.map +1 -1
- package/bin/ECS/Components/IUpdatable.js +7 -2
- package/bin/ECS/Components/IUpdatable.js.map +1 -1
- package/bin/ECS/Components/SceneComponent.js +5 -1
- package/bin/ECS/Components/SceneComponent.js.map +1 -1
- package/bin/ECS/Core/BitMaskOptimizer.d.ts +75 -0
- package/bin/ECS/Core/BitMaskOptimizer.d.ts.map +1 -0
- package/bin/ECS/Core/BitMaskOptimizer.js +165 -0
- package/bin/ECS/Core/BitMaskOptimizer.js.map +1 -0
- package/bin/ECS/Core/ComponentPool.d.ts +72 -0
- package/bin/ECS/Core/ComponentPool.d.ts.map +1 -0
- package/bin/ECS/Core/ComponentPool.js +128 -0
- package/bin/ECS/Core/ComponentPool.js.map +1 -0
- package/bin/ECS/Core/ComponentStorage.js +9 -3
- package/bin/ECS/Core/ComponentStorage.js.map +1 -1
- package/bin/ECS/Core/EventSystem.js +12 -6
- package/bin/ECS/Core/EventSystem.js.map +1 -1
- package/bin/ECS/Core/FluentAPI.js +24 -17
- package/bin/ECS/Core/FluentAPI.js.map +1 -1
- package/bin/ECS/Core/IndexUpdateBatcher.d.ts +100 -0
- package/bin/ECS/Core/IndexUpdateBatcher.d.ts.map +1 -0
- package/bin/ECS/Core/IndexUpdateBatcher.js +223 -0
- package/bin/ECS/Core/IndexUpdateBatcher.js.map +1 -0
- package/bin/ECS/Core/QuerySystem.d.ts +292 -444
- package/bin/ECS/Core/QuerySystem.d.ts.map +1 -1
- package/bin/ECS/Core/QuerySystem.js +661 -1075
- package/bin/ECS/Core/QuerySystem.js.map +1 -1
- package/bin/ECS/CoreEvents.js +5 -2
- package/bin/ECS/CoreEvents.js.map +1 -1
- package/bin/ECS/Entity.js +17 -12
- package/bin/ECS/Entity.js.map +1 -1
- package/bin/ECS/Scene.d.ts +18 -2
- package/bin/ECS/Scene.d.ts.map +1 -1
- package/bin/ECS/Scene.js +67 -19
- package/bin/ECS/Scene.js.map +1 -1
- package/bin/ECS/Systems/EntitySystem.js +9 -5
- package/bin/ECS/Systems/EntitySystem.js.map +1 -1
- package/bin/ECS/Systems/IntervalSystem.js +8 -4
- package/bin/ECS/Systems/IntervalSystem.js.map +1 -1
- package/bin/ECS/Systems/PassiveSystem.js +6 -2
- package/bin/ECS/Systems/PassiveSystem.js.map +1 -1
- package/bin/ECS/Systems/ProcessingSystem.js +6 -2
- package/bin/ECS/Systems/ProcessingSystem.js.map +1 -1
- package/bin/ECS/Systems/index.js +11 -4
- package/bin/ECS/Systems/index.js.map +1 -1
- package/bin/ECS/Utils/Bits.js +5 -1
- package/bin/ECS/Utils/Bits.js.map +1 -1
- package/bin/ECS/Utils/ComponentTypeManager.js +8 -4
- package/bin/ECS/Utils/ComponentTypeManager.js.map +1 -1
- package/bin/ECS/Utils/EntityList.js +5 -1
- package/bin/ECS/Utils/EntityList.js.map +1 -1
- package/bin/ECS/Utils/EntityProcessorList.js +5 -1
- package/bin/ECS/Utils/EntityProcessorList.js.map +1 -1
- package/bin/ECS/Utils/IdentifierPool.js +5 -1
- package/bin/ECS/Utils/IdentifierPool.js.map +1 -1
- package/bin/ECS/Utils/Matcher.js +8 -4
- package/bin/ECS/Utils/Matcher.js.map +1 -1
- package/bin/ECS/Utils/index.js +15 -6
- package/bin/ECS/Utils/index.js.map +1 -1
- package/bin/ECS/index.js +27 -6
- package/bin/ECS/index.js.map +1 -1
- package/bin/Testing/Performance/benchmark.d.ts +6 -0
- package/bin/Testing/Performance/benchmark.d.ts.map +1 -0
- package/bin/Testing/Performance/benchmark.js +639 -0
- package/bin/Testing/Performance/benchmark.js.map +1 -0
- package/bin/Testing/Unit/bitmask-optimizer.test.d.ts +2 -0
- package/bin/Testing/Unit/bitmask-optimizer.test.d.ts.map +1 -0
- package/bin/Testing/Unit/bitmask-optimizer.test.js +164 -0
- package/bin/Testing/Unit/bitmask-optimizer.test.js.map +1 -0
- package/bin/Testing/Unit/component-pool.test.d.ts +5 -0
- package/bin/Testing/Unit/component-pool.test.d.ts.map +1 -0
- package/bin/Testing/Unit/component-pool.test.js +149 -0
- package/bin/Testing/Unit/component-pool.test.js.map +1 -0
- package/bin/Testing/test-runner.d.ts +51 -0
- package/bin/Testing/test-runner.d.ts.map +1 -0
- package/bin/Testing/test-runner.js +159 -0
- package/bin/Testing/test-runner.js.map +1 -0
- package/bin/Types/index.js +7 -4
- package/bin/Types/index.js.map +1 -1
- package/bin/Utils/Emitter.js +7 -2
- package/bin/Utils/Emitter.js.map +1 -1
- package/bin/Utils/Extensions/NumberExtension.js +5 -1
- package/bin/Utils/Extensions/NumberExtension.js.map +1 -1
- package/bin/Utils/Extensions/TypeUtils.js +5 -1
- package/bin/Utils/Extensions/TypeUtils.js.map +1 -1
- package/bin/Utils/Extensions/index.js +7 -2
- package/bin/Utils/Extensions/index.js.map +1 -1
- package/bin/Utils/GlobalManager.js +5 -1
- package/bin/Utils/GlobalManager.js.map +1 -1
- package/bin/Utils/PerformanceMonitor.js +7 -3
- package/bin/Utils/PerformanceMonitor.js.map +1 -1
- package/bin/Utils/Pool.js +9 -3
- package/bin/Utils/Pool.js.map +1 -1
- package/bin/Utils/Time.js +5 -1
- package/bin/Utils/Time.js.map +1 -1
- package/bin/Utils/Timers/ITimer.js +2 -1
- package/bin/Utils/Timers/Timer.js +7 -3
- package/bin/Utils/Timers/Timer.js.map +1 -1
- package/bin/Utils/Timers/TimerManager.js +8 -4
- package/bin/Utils/Timers/TimerManager.js.map +1 -1
- package/bin/Utils/WasmCore.d.ts +234 -0
- package/bin/Utils/WasmCore.d.ts.map +1 -0
- package/bin/Utils/WasmCore.js +634 -0
- package/bin/Utils/WasmCore.js.map +1 -0
- package/bin/Utils/index.d.ts +10 -0
- package/bin/Utils/index.d.ts.map +1 -1
- package/bin/Utils/index.js +36 -5
- package/bin/Utils/index.js.map +1 -1
- package/bin/index.d.ts +1 -2
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +42 -14
- package/bin/index.js.map +1 -1
- package/package.json +58 -74
- package/bin/Utils/AccelerationProvider.d.ts +0 -192
- package/bin/Utils/AccelerationProvider.d.ts.map +0 -1
- package/bin/Utils/AccelerationProvider.js +0 -261
- package/bin/Utils/AccelerationProvider.js.map +0 -1
- package/bin/Utils/WasmBridge.d.ts +0 -152
- package/bin/Utils/WasmBridge.d.ts.map +0 -1
- package/bin/Utils/WasmBridge.js +0 -336
- package/bin/Utils/WasmBridge.js.map +0 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IntervalSystem = void 0;
|
|
4
|
+
const EntitySystem_1 = require("./EntitySystem");
|
|
5
|
+
const Time_1 = require("../../Utils/Time");
|
|
3
6
|
/**
|
|
4
7
|
* 间隔系统抽象类
|
|
5
8
|
* 定义一个按时间间隔处理的抽象类,继承自EntitySystem类
|
|
6
9
|
* 子类需要实现process方法,用于实现具体的处理逻辑
|
|
7
10
|
*/
|
|
8
|
-
|
|
11
|
+
class IntervalSystem extends EntitySystem_1.EntitySystem {
|
|
9
12
|
/**
|
|
10
13
|
* 构造函数,初始化时间间隔
|
|
11
14
|
* @param matcher 实体匹配器
|
|
@@ -26,7 +29,7 @@ export class IntervalSystem extends EntitySystem {
|
|
|
26
29
|
*/
|
|
27
30
|
checkProcessing() {
|
|
28
31
|
// 更新累积增量
|
|
29
|
-
this.acc += Time.deltaTime;
|
|
32
|
+
this.acc += Time_1.Time.deltaTime;
|
|
30
33
|
// 如果累积增量超过时间间隔,则进行处理
|
|
31
34
|
if (this.acc >= this.interval) {
|
|
32
35
|
// 更新时间间隔余数
|
|
@@ -47,4 +50,5 @@ export class IntervalSystem extends EntitySystem {
|
|
|
47
50
|
return this.interval + this.intervalRemainder;
|
|
48
51
|
}
|
|
49
52
|
}
|
|
53
|
+
exports.IntervalSystem = IntervalSystem;
|
|
50
54
|
//# sourceMappingURL=IntervalSystem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntervalSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/IntervalSystem.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"IntervalSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/IntervalSystem.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,2CAAwC;AAExC;;;;GAIG;AACH,MAAsB,cAAe,SAAQ,2BAAY;IAQrD;;;;OAIG;IACH,YAAY,OAAgB,EAAE,QAAgB;QAC1C,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,eAAe;QAC9B,SAAS;QACT,IAAI,CAAC,GAAG,IAAI,WAAI,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;AAhDD,wCAgDC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PassiveSystem = void 0;
|
|
4
|
+
const EntitySystem_1 = require("./EntitySystem");
|
|
2
5
|
/**
|
|
3
6
|
* 被动实体系统
|
|
4
7
|
* 定义一个被动的实体系统,继承自EntitySystem类
|
|
5
8
|
* 被动的实体系统不会对实体进行任何修改,只会被动地接收实体的变化事件
|
|
6
9
|
*/
|
|
7
|
-
|
|
10
|
+
class PassiveSystem extends EntitySystem_1.EntitySystem {
|
|
8
11
|
/**
|
|
9
12
|
* 当实体发生变化时,不进行任何操作
|
|
10
13
|
* @param entity 发生变化的实体
|
|
@@ -18,4 +21,5 @@ export class PassiveSystem extends EntitySystem {
|
|
|
18
21
|
// 被动系统不进行任何处理
|
|
19
22
|
}
|
|
20
23
|
}
|
|
24
|
+
exports.PassiveSystem = PassiveSystem;
|
|
21
25
|
//# sourceMappingURL=PassiveSystem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PassiveSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/PassiveSystem.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"PassiveSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/PassiveSystem.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAG9C;;;;GAIG;AACH,MAAsB,aAAc,SAAQ,2BAAY;IACpD;;;OAGG;IACa,SAAS,CAAC,MAAc,IAAU,CAAC;IAEnD;;;OAGG;IACgB,OAAO,CAAC,QAAkB;QACzC,cAAc;IAClB,CAAC;CACJ;AAdD,sCAcC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessingSystem = void 0;
|
|
4
|
+
const EntitySystem_1 = require("./EntitySystem");
|
|
2
5
|
/**
|
|
3
6
|
* 处理系统抽象类
|
|
4
7
|
* 定义一个处理实体的抽象类,继承自EntitySystem类
|
|
5
8
|
* 子类需要实现processSystem方法,用于实现具体的处理逻辑
|
|
6
9
|
*/
|
|
7
|
-
|
|
10
|
+
class ProcessingSystem extends EntitySystem_1.EntitySystem {
|
|
8
11
|
/**
|
|
9
12
|
* 当实体发生变化时,不进行任何操作
|
|
10
13
|
* @param entity 发生变化的实体
|
|
@@ -19,4 +22,5 @@ export class ProcessingSystem extends EntitySystem {
|
|
|
19
22
|
this.processSystem();
|
|
20
23
|
}
|
|
21
24
|
}
|
|
25
|
+
exports.ProcessingSystem = ProcessingSystem;
|
|
22
26
|
//# sourceMappingURL=ProcessingSystem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessingSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/ProcessingSystem.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ProcessingSystem.js","sourceRoot":"","sources":["../../../src/ECS/Systems/ProcessingSystem.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAG9C;;;;GAIG;AACH,MAAsB,gBAAiB,SAAQ,2BAAY;IACvD;;;OAGG;IACa,SAAS,CAAC,MAAc,IAAU,CAAC;IAEnD;;;OAGG;IACgB,OAAO,CAAC,QAAkB;QACzC,+BAA+B;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;CAMJ;AApBD,4CAoBC"}
|
package/bin/ECS/Systems/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IntervalSystem = exports.PassiveSystem = exports.ProcessingSystem = exports.EntitySystem = void 0;
|
|
1
4
|
// ECS系统导出
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
var EntitySystem_1 = require("./EntitySystem");
|
|
6
|
+
Object.defineProperty(exports, "EntitySystem", { enumerable: true, get: function () { return EntitySystem_1.EntitySystem; } });
|
|
7
|
+
var ProcessingSystem_1 = require("./ProcessingSystem");
|
|
8
|
+
Object.defineProperty(exports, "ProcessingSystem", { enumerable: true, get: function () { return ProcessingSystem_1.ProcessingSystem; } });
|
|
9
|
+
var PassiveSystem_1 = require("./PassiveSystem");
|
|
10
|
+
Object.defineProperty(exports, "PassiveSystem", { enumerable: true, get: function () { return PassiveSystem_1.PassiveSystem; } });
|
|
11
|
+
var IntervalSystem_1 = require("./IntervalSystem");
|
|
12
|
+
Object.defineProperty(exports, "IntervalSystem", { enumerable: true, get: function () { return IntervalSystem_1.IntervalSystem; } });
|
|
6
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ECS/Systems/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ECS/Systems/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA"}
|
package/bin/ECS/Utils/Bits.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bits = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* 高性能位操作类
|
|
3
6
|
* 用于快速操作位数组,支持组件匹配等场景
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
class Bits {
|
|
6
9
|
constructor() {
|
|
7
10
|
this._words = [];
|
|
8
11
|
this._words = [];
|
|
@@ -138,5 +141,6 @@ export class Bits {
|
|
|
138
141
|
return newBits;
|
|
139
142
|
}
|
|
140
143
|
}
|
|
144
|
+
exports.Bits = Bits;
|
|
141
145
|
Bits.WORD_SIZE = 32;
|
|
142
146
|
//# sourceMappingURL=Bits.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bits.js","sourceRoot":"","sources":["../../../src/ECS/Utils/Bits.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"Bits.js","sourceRoot":"","sources":["../../../src/ECS/Utils/Bits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ComponentTypeManager = void 0;
|
|
4
|
+
const Bits_1 = require("./Bits");
|
|
2
5
|
/**
|
|
3
6
|
* 组件类型管理器
|
|
4
7
|
* 负责管理组件类型的注册和ID分配
|
|
5
8
|
*/
|
|
6
|
-
|
|
9
|
+
class ComponentTypeManager {
|
|
7
10
|
/**
|
|
8
11
|
* 获取单例实例
|
|
9
12
|
*/
|
|
@@ -46,7 +49,7 @@ export class ComponentTypeManager {
|
|
|
46
49
|
* @returns Bits对象
|
|
47
50
|
*/
|
|
48
51
|
createBits(...componentTypes) {
|
|
49
|
-
const bits = new Bits();
|
|
52
|
+
const bits = new Bits_1.Bits();
|
|
50
53
|
for (const componentType of componentTypes) {
|
|
51
54
|
const typeId = this.getTypeId(componentType);
|
|
52
55
|
bits.set(typeId);
|
|
@@ -59,7 +62,7 @@ export class ComponentTypeManager {
|
|
|
59
62
|
* @returns Bits对象
|
|
60
63
|
*/
|
|
61
64
|
getEntityBits(components) {
|
|
62
|
-
const bits = new Bits();
|
|
65
|
+
const bits = new Bits_1.Bits();
|
|
63
66
|
for (const component of components) {
|
|
64
67
|
const typeId = this.getTypeId(component.constructor);
|
|
65
68
|
bits.set(typeId);
|
|
@@ -81,4 +84,5 @@ export class ComponentTypeManager {
|
|
|
81
84
|
return this._componentTypes.size;
|
|
82
85
|
}
|
|
83
86
|
}
|
|
87
|
+
exports.ComponentTypeManager = ComponentTypeManager;
|
|
84
88
|
//# sourceMappingURL=ComponentTypeManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentTypeManager.js","sourceRoot":"","sources":["../../../src/ECS/Utils/ComponentTypeManager.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"ComponentTypeManager.js","sourceRoot":"","sources":["../../../src/ECS/Utils/ComponentTypeManager.ts"],"names":[],"mappings":";;;AACA,iCAA8B;AAE9B;;;GAGG;AACH,MAAa,oBAAoB;IAM7B;;OAEG;IACI,MAAM,KAAK,QAAQ;QACtB,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;YAClC,oBAAoB,CAAC,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,oBAAoB,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED;QAdQ,oBAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,gBAAW,GAAG,CAAC,CAAC;IAYD,CAAC;IAExB;;;;OAIG;IACI,SAAS,CAAsB,aAAwC;QAC1E,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAErD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,GAAG,cAAqD;QACtE,MAAM,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC;QAExB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,UAAuB;QACxC,MAAM,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC;QAExB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAgD,CAAC,CAAC;YAC1F,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IACrC,CAAC;CACJ;AA3FD,oDA2FC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntityList = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* 高性能实体列表管理器
|
|
3
6
|
* 管理场景中的所有实体,支持快速查找和批量操作
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
class EntityList {
|
|
6
9
|
get count() {
|
|
7
10
|
return this.buffer.length;
|
|
8
11
|
}
|
|
@@ -246,4 +249,5 @@ export class EntityList {
|
|
|
246
249
|
};
|
|
247
250
|
}
|
|
248
251
|
}
|
|
252
|
+
exports.EntityList = EntityList;
|
|
249
253
|
//# sourceMappingURL=EntityList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityList.js","sourceRoot":"","sources":["../../../src/ECS/Utils/EntityList.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"EntityList.js","sourceRoot":"","sources":["../../../src/ECS/Utils/EntityList.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntityProcessorList = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* 实体处理器列表管理器
|
|
3
6
|
* 管理场景中的所有实体系统
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
class EntityProcessorList {
|
|
6
9
|
constructor() {
|
|
7
10
|
this._processors = [];
|
|
8
11
|
this._isDirty = false;
|
|
@@ -93,4 +96,5 @@ export class EntityProcessorList {
|
|
|
93
96
|
return this._processors.length;
|
|
94
97
|
}
|
|
95
98
|
}
|
|
99
|
+
exports.EntityProcessorList = EntityProcessorList;
|
|
96
100
|
//# sourceMappingURL=EntityProcessorList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityProcessorList.js","sourceRoot":"","sources":["../../../src/ECS/Utils/EntityProcessorList.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"EntityProcessorList.js","sourceRoot":"","sources":["../../../src/ECS/Utils/EntityProcessorList.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,mBAAmB;IAAhC;QACY,gBAAW,GAAmB,EAAE,CAAC;QACjC,aAAQ,GAAG,KAAK,CAAC;IAmG7B,CAAC;IAjGG;;OAEG;IACI,QAAQ;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,GAAG,CAAC,SAAuB;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAuB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,YAAY,CAAyB,IAA+B;QACvE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,SAAS,YAAY,IAAI,EAAE,CAAC;gBAC5B,OAAO,SAAc,CAAC;YAC1B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;OAEG;IACI,GAAG;QACN,QAAQ;IACZ,CAAC;IAED;;OAEG;IACI,MAAM;QACT,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,UAAU;QACb,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,cAAc;IACd,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,cAAc;IACd,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;CAGJ;AArGD,kDAqGC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IdentifierPool = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* ID池管理器
|
|
3
6
|
* 用于管理实体ID的分配和回收
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
class IdentifierPool {
|
|
6
9
|
constructor() {
|
|
7
10
|
this._nextAvailableId = 0;
|
|
8
11
|
this._ids = [];
|
|
@@ -24,4 +27,5 @@ export class IdentifierPool {
|
|
|
24
27
|
this._ids.push(id);
|
|
25
28
|
}
|
|
26
29
|
}
|
|
30
|
+
exports.IdentifierPool = IdentifierPool;
|
|
27
31
|
//# sourceMappingURL=IdentifierPool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentifierPool.js","sourceRoot":"","sources":["../../../src/ECS/Utils/IdentifierPool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"IdentifierPool.js","sourceRoot":"","sources":["../../../src/ECS/Utils/IdentifierPool.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,cAAc;IAA3B;QACY,qBAAgB,GAAG,CAAC,CAAC;QACrB,SAAI,GAAa,EAAE,CAAC;IAmBhC,CAAC;IAjBG;;OAEG;IACI,QAAQ;QACX,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAG,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,EAAU;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;CACJ;AArBD,wCAqBC"}
|
package/bin/ECS/Utils/Matcher.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Matcher = void 0;
|
|
4
|
+
const ComponentTypeManager_1 = require("./ComponentTypeManager");
|
|
2
5
|
/**
|
|
3
6
|
* 高性能实体匹配器
|
|
4
7
|
* 用于快速匹配符合条件的实体
|
|
5
8
|
*/
|
|
6
|
-
|
|
9
|
+
class Matcher {
|
|
7
10
|
constructor() {
|
|
8
11
|
this.allSet = [];
|
|
9
12
|
this.exclusionSet = [];
|
|
@@ -86,7 +89,7 @@ export class Matcher {
|
|
|
86
89
|
*/
|
|
87
90
|
getEntityBits(entity) {
|
|
88
91
|
const components = entity.components;
|
|
89
|
-
return ComponentTypeManager.instance.getEntityBits(components);
|
|
92
|
+
return ComponentTypeManager_1.ComponentTypeManager.instance.getEntityBits(components);
|
|
90
93
|
}
|
|
91
94
|
/**
|
|
92
95
|
* 如果位掩码已过期,则更新它们
|
|
@@ -95,7 +98,7 @@ export class Matcher {
|
|
|
95
98
|
if (!this._isDirty) {
|
|
96
99
|
return;
|
|
97
100
|
}
|
|
98
|
-
const typeManager = ComponentTypeManager.instance;
|
|
101
|
+
const typeManager = ComponentTypeManager_1.ComponentTypeManager.instance;
|
|
99
102
|
// 更新必须包含的组件位掩码
|
|
100
103
|
if (this.allSet.length > 0) {
|
|
101
104
|
this._allBits = typeManager.createBits(...this.allSet);
|
|
@@ -137,4 +140,5 @@ export class Matcher {
|
|
|
137
140
|
return `Matcher(${parts.join(', ')})`;
|
|
138
141
|
}
|
|
139
142
|
}
|
|
143
|
+
exports.Matcher = Matcher;
|
|
140
144
|
//# sourceMappingURL=Matcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matcher.js","sourceRoot":"","sources":["../../../src/ECS/Utils/Matcher.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"Matcher.js","sourceRoot":"","sources":["../../../src/ECS/Utils/Matcher.ts"],"names":[],"mappings":"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"}
|
package/bin/ECS/Utils/index.js
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ComponentTypeManager = exports.Bits = exports.Matcher = exports.IdentifierPool = exports.EntityProcessorList = exports.EntityList = void 0;
|
|
1
4
|
// ECS工具类导出
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
var EntityList_1 = require("./EntityList");
|
|
6
|
+
Object.defineProperty(exports, "EntityList", { enumerable: true, get: function () { return EntityList_1.EntityList; } });
|
|
7
|
+
var EntityProcessorList_1 = require("./EntityProcessorList");
|
|
8
|
+
Object.defineProperty(exports, "EntityProcessorList", { enumerable: true, get: function () { return EntityProcessorList_1.EntityProcessorList; } });
|
|
9
|
+
var IdentifierPool_1 = require("./IdentifierPool");
|
|
10
|
+
Object.defineProperty(exports, "IdentifierPool", { enumerable: true, get: function () { return IdentifierPool_1.IdentifierPool; } });
|
|
11
|
+
var Matcher_1 = require("./Matcher");
|
|
12
|
+
Object.defineProperty(exports, "Matcher", { enumerable: true, get: function () { return Matcher_1.Matcher; } });
|
|
13
|
+
var Bits_1 = require("./Bits");
|
|
14
|
+
Object.defineProperty(exports, "Bits", { enumerable: true, get: function () { return Bits_1.Bits; } });
|
|
15
|
+
var ComponentTypeManager_1 = require("./ComponentTypeManager");
|
|
16
|
+
Object.defineProperty(exports, "ComponentTypeManager", { enumerable: true, get: function () { return ComponentTypeManager_1.ComponentTypeManager; } });
|
|
8
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ECS/Utils/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ECS/Utils/index.ts"],"names":[],"mappings":";;;AAAA,WAAW;AACX,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
|
package/bin/ECS/index.js
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Scene = exports.CoreEvents = exports.Component = exports.Entity = void 0;
|
|
1
18
|
// 导出核心ECS类
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
19
|
+
var Entity_1 = require("./Entity");
|
|
20
|
+
Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return Entity_1.Entity; } });
|
|
21
|
+
var Component_1 = require("./Component");
|
|
22
|
+
Object.defineProperty(exports, "Component", { enumerable: true, get: function () { return Component_1.Component; } });
|
|
23
|
+
var CoreEvents_1 = require("./CoreEvents");
|
|
24
|
+
Object.defineProperty(exports, "CoreEvents", { enumerable: true, get: function () { return CoreEvents_1.CoreEvents; } });
|
|
25
|
+
__exportStar(require("./Systems"), exports);
|
|
26
|
+
__exportStar(require("./Utils"), exports);
|
|
27
|
+
var Scene_1 = require("./Scene");
|
|
28
|
+
Object.defineProperty(exports, "Scene", { enumerable: true, get: function () { return Scene_1.Scene; } });
|
|
8
29
|
//# sourceMappingURL=index.js.map
|
package/bin/ECS/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ECS/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ECS/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,4CAA0B;AAC1B,0CAAwB;AACxB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../../src/Testing/Performance/benchmark.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|