@flashist/appframework 0.0.190 → 0.0.191
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.
|
@@ -6,6 +6,7 @@ import { EntitiesQuery } from "../ecs/entities/queries/EntitiesQuery";
|
|
|
6
6
|
import { System } from "../ecs/systems/System";
|
|
7
7
|
export declare class ECSManager extends BaseAppManager {
|
|
8
8
|
protected entitiesList: IEntity[];
|
|
9
|
+
protected entitiesToIdMap: Record<string, IEntity>;
|
|
9
10
|
protected queriesToTypesMap: {
|
|
10
11
|
[includeTypesSortedKey: string]: {
|
|
11
12
|
[excludeTypesSortedKey: string]: EntitiesQuery;
|
|
@@ -19,7 +20,8 @@ export declare class ECSManager extends BaseAppManager {
|
|
|
19
20
|
protected addListeners(): void;
|
|
20
21
|
protected onTimeUpdate(): void;
|
|
21
22
|
entities: {
|
|
22
|
-
|
|
23
|
+
get: <EntityType extends IEntity<IComponent>>(id: string) => EntityType;
|
|
24
|
+
create: <EntityType_1 extends IEntity<IComponent>>(entity: EntityType_1) => EntityType_1;
|
|
23
25
|
add: (entity: IEntity) => void;
|
|
24
26
|
remove: (entity: IEntity) => void;
|
|
25
27
|
addComponents: (entity: IEntity, ...components: IComponent[]) => void;
|
|
@@ -7,11 +7,15 @@ export class ECSManager extends BaseAppManager {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
9
|
this.entitiesList = [];
|
|
10
|
+
this.entitiesToIdMap = {};
|
|
10
11
|
this.queriesToTypesMap = {};
|
|
11
12
|
this.queriesList = [];
|
|
12
13
|
this.systemsList = [];
|
|
13
14
|
this.entitiesUniquePoolId = "ecsEntitiesUniquePool";
|
|
14
15
|
this.entities = {
|
|
16
|
+
get: (id) => {
|
|
17
|
+
return this.entitiesToIdMap[id];
|
|
18
|
+
},
|
|
15
19
|
create: (entity) => {
|
|
16
20
|
const result = Object.assign(Object.assign({}, entity), { id: UniqueTools.getUniqueIdForPool(this.entitiesUniquePoolId) });
|
|
17
21
|
this.entities.add(result);
|
|
@@ -22,10 +26,12 @@ export class ECSManager extends BaseAppManager {
|
|
|
22
26
|
return;
|
|
23
27
|
}
|
|
24
28
|
this.entitiesList.push(entity);
|
|
29
|
+
this.entitiesToIdMap[entity.id] = entity;
|
|
25
30
|
this.addEntityToQueries(entity);
|
|
26
31
|
},
|
|
27
32
|
remove: (entity) => {
|
|
28
33
|
ArrayTools.removeItem(this.entitiesList, entity);
|
|
34
|
+
delete this.entitiesToIdMap[entity.id];
|
|
29
35
|
this.removeEntityFromAllQueries(entity);
|
|
30
36
|
},
|
|
31
37
|
addComponents: (entity, ...components) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECSManager.js","sourceRoot":"","sources":["../../../src/ecs/managers/ECSManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,MAAM,OAAO,UAAW,SAAQ,cAAc;IAA9C;;QAEc,iBAAY,GAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ECSManager.js","sourceRoot":"","sources":["../../../src/ecs/managers/ECSManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,MAAM,OAAO,UAAW,SAAQ,cAAc;IAA9C;;QAEc,iBAAY,GAAc,EAAE,CAAC;QAC7B,oBAAe,GAA4B,EAAE,CAAC;QAE9C,sBAAiB,GAIvB,EAAE,CAAC;QAEG,gBAAW,GAAoB,EAAE,CAAC;QAElC,gBAAW,GAAa,EAAE,CAAC;QAI3B,yBAAoB,GAAW,uBAAuB,CAAC;QAsB1D,aAAQ,GAAG;YACd,GAAG,EAAE,CAA6B,EAAU,EAAc,EAAE;gBACxD,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAe,CAAC;YAClD,CAAC;YACD,MAAM,EAAE,CAA6B,MAAkB,EAAc,EAAE;gBACnE,MAAM,MAAM,mCACL,MAAM,KACT,EAAE,EAAE,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAChE,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAE1B,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,GAAG,EAAE,CAAC,MAAe,EAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1C,OAAO;iBACV;gBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;gBAEzC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,EAAE,CAAC,MAAe,EAAQ,EAAE;gBAC9B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACjD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEvC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;YACD,aAAa,EAAE,CAAC,MAAe,EAAE,GAAG,UAAwB,EAAQ,EAAE;gBAClE,KAAK,IAAI,eAAe,IAAI,UAAU,EAAE;oBACpC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;iBAC7D;gBAED,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;YACD,gBAAgB,EAAE,CAAC,MAAe,EAAE,GAAG,cAAwB,EAAQ,EAAE;gBACrE,KAAK,IAAI,mBAAmB,IAAI,cAAc,EAAE;oBAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;iBACjD;gBAED,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;SACJ,CAAC;QAEK,YAAO,GAAG;YACb,GAAG,EAAE,CAA6B,YAAsB,EAAE,YAAuB,EAA6B,EAAE;;gBAC5G,MAAM,qBAAqB,GAAW,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC1E,IAAI,qBAAqB,GAAW,EAAE,CAAC;gBACvC,IAAI,YAAY,EAAE;oBACd,qBAAqB,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;iBAC/D;gBAED,IAAI,MAAM,GAA8B,MAAA,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,0CAAG,qBAAqB,CAAQ,CAAC;gBACtH,IAAI,CAAC,MAAM,EAAE;oBACT,MAAM,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBACvD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE;wBAChD,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;qBACtD;oBACD,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC;oBAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAE9B,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;iBAC1C;gBAED,OAAO,MAAM,CAAC;YAClB,CAAC;SACJ,CAAA;QAoDM,YAAO,GAAG;YACb,GAAG,EAAE,CAAC,MAAc,EAAE,EAAE;gBACpB,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;oBACzC,OAAO;iBACV;gBAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;SACJ,CAAC;IAON,CAAC;IA3Ja,YAAY,CAAC,GAAG,IAAW;QACjC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAE5B,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC,QAAQ,EAAsB,CAAC;IACjE,CAAC;IAES,YAAY;QAClB,KAAK,CAAC,YAAY,EAAE,CAAC;QAErB,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CACrC,IAAI,CAAC,gBAAgB,EACrB,gBAAgB,CAAC,MAAM,EACvB,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;IAES,YAAY;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAwES,kBAAkB,CAAC,MAAe,EAAE,OAAyB;QAEnE,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;SAC9B;QAED,KAAK,IAAI,WAAW,IAAI,OAAO,EAAE;YAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC7C,IAAI,kBAAkB,GAAY,IAAI,CAAC;gBACvC,KAAK,IAAI,sBAAsB,IAAI,WAAW,CAAC,YAAY,EAAE;oBACzD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE;wBAC5C,kBAAkB,GAAG,KAAK,CAAC;wBAC3B,MAAM;qBACT;iBACJ;gBAED,IAAI,kBAAkB,GAAY,KAAK,CAAC;gBACxC,IAAI,kBAAkB,EAAE;oBACpB,KAAK,IAAI,sBAAsB,IAAI,WAAW,CAAC,YAAY,EAAE;wBACzD,IAAI,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE;4BAC3C,kBAAkB,GAAG,IAAI,CAAC;4BAC1B,MAAM;yBACT;qBACJ;iBACJ;gBAED,IAAI,kBAAkB,IAAI,CAAC,kBAAkB,EAAE;oBAC3C,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;iBACjC;aACJ;SACJ;IACL,CAAC;IAES,0BAA0B,CAAC,MAAe;QAChD,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACpC;IACL,CAAC;IAES,yBAAyB,CAAC,MAAe;QAC/C,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAES,yBAAyB,CAAC,KAAoB;QACpD,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;SAClD;IACL,CAAC;IAYM,MAAM,CAAC,SAAiB;QAC3B,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;YACvC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAClC;IACL,CAAC;CACJ"}
|