@flashist/appframework 0.0.180 → 0.0.182
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.
|
@@ -28,9 +28,10 @@ export declare class ECSManager extends BaseAppManager {
|
|
|
28
28
|
queries: {
|
|
29
29
|
get: <EntityType extends IEntity<IComponent>>(includeTypes: string[], excludeTypes?: string[]) => EntitiesQuery<EntityType>;
|
|
30
30
|
};
|
|
31
|
-
protected addEntityToQueries(entity: IEntity): void;
|
|
31
|
+
protected addEntityToQueries(entity: IEntity, queries?: EntitiesQuery[]): void;
|
|
32
32
|
protected removeEntityFromAllQueries(entity: IEntity): void;
|
|
33
33
|
protected updateAllQueriesForEntity(entity: IEntity): void;
|
|
34
|
+
protected updateAllEntitiesForQuery(query: EntitiesQuery): void;
|
|
34
35
|
systems: {
|
|
35
36
|
add: (system: System) => void;
|
|
36
37
|
};
|
|
@@ -42,7 +42,7 @@ export class ECSManager extends BaseAppManager {
|
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
this.queries = {
|
|
45
|
-
get: (includeTypes, excludeTypes
|
|
45
|
+
get: (includeTypes, excludeTypes) => {
|
|
46
46
|
var _a;
|
|
47
47
|
const includeTypesSortedKey = includeTypes.concat().sort().join();
|
|
48
48
|
let excludeTypesSortedKey = "";
|
|
@@ -57,6 +57,7 @@ export class ECSManager extends BaseAppManager {
|
|
|
57
57
|
}
|
|
58
58
|
this.queriesToTypesMap[includeTypesSortedKey][excludeTypesSortedKey] = result;
|
|
59
59
|
this.queriesList.push(result);
|
|
60
|
+
this.updateAllEntitiesForQuery(result);
|
|
60
61
|
}
|
|
61
62
|
return result;
|
|
62
63
|
}
|
|
@@ -81,8 +82,11 @@ export class ECSManager extends BaseAppManager {
|
|
|
81
82
|
onTimeUpdate() {
|
|
82
83
|
this.update(this.timeState.time.lastTimeDelta);
|
|
83
84
|
}
|
|
84
|
-
addEntityToQueries(entity) {
|
|
85
|
-
|
|
85
|
+
addEntityToQueries(entity, queries) {
|
|
86
|
+
if (!queries) {
|
|
87
|
+
queries = this.queriesList;
|
|
88
|
+
}
|
|
89
|
+
for (let singleQuery of queries) {
|
|
86
90
|
if (singleQuery.entities.indexOf(entity) === -1) {
|
|
87
91
|
let hasAllIncludeTypes = true;
|
|
88
92
|
for (let singleQueryIncludeType of singleQuery.includeTypes) {
|
|
@@ -115,6 +119,11 @@ export class ECSManager extends BaseAppManager {
|
|
|
115
119
|
this.removeEntityFromAllQueries(entity);
|
|
116
120
|
this.addEntityToQueries(entity);
|
|
117
121
|
}
|
|
122
|
+
updateAllEntitiesForQuery(query) {
|
|
123
|
+
for (let singleEntity of this.entitiesList) {
|
|
124
|
+
this.addEntityToQueries(singleEntity, [query]);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
118
127
|
update(timeDelta) {
|
|
119
128
|
for (let singleSystem of this.systemsList) {
|
|
120
129
|
singleSystem.update(timeDelta);
|
|
@@ -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;QAE7B,sBAAiB,GAIvB,EAAE,CAAC;QAEG,gBAAW,GAAoB,EAAE,CAAC;QAElC,gBAAW,GAAa,EAAE,CAAC;QAI3B,yBAAoB,GAAW,uBAAuB,CAAC;QAsB1D,aAAQ,GAAG;YACd,MAAM,EAAE,CAAC,MAAe,EAAW,EAAE;gBACjC,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,EAAE,EAAE;gBACrB,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;gBAE/B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,EAAE,CAAC,MAAe,EAAE,EAAE;gBACxB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAEjD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;YACD,aAAa,EAAE,CAAC,MAAe,EAAE,GAAG,UAAwB,EAAE,EAAE;gBAC5D,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,EAAE,EAAE;gBAC/D,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,
|
|
1
|
+
{"version":3,"file":"ECSManager.js","sourceRoot":"","sources":["../../../src/ecs/managers/ECSManager.ts"],"names":[],"mappings":"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"}
|