@flashist/appframework 0.0.190 → 0.0.192

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,9 @@ export declare class ECSManager extends BaseAppManager {
19
20
  protected addListeners(): void;
20
21
  protected onTimeUpdate(): void;
21
22
  entities: {
22
- create: <EntityType extends IEntity<IComponent>>(entity: EntityType) => EntityType;
23
+ get: <EntityType extends IEntity<IComponent>>(id: string) => EntityType;
24
+ getAll: () => IEntity[];
25
+ create: <EntityType_1 extends IEntity<IComponent>>(entity: EntityType_1) => EntityType_1;
23
26
  add: (entity: IEntity) => void;
24
27
  remove: (entity: IEntity) => void;
25
28
  addComponents: (entity: IEntity, ...components: IComponent[]) => void;
@@ -7,11 +7,18 @@ 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
+ },
19
+ getAll: () => {
20
+ return this.entitiesList.concat();
21
+ },
15
22
  create: (entity) => {
16
23
  const result = Object.assign(Object.assign({}, entity), { id: UniqueTools.getUniqueIdForPool(this.entitiesUniquePoolId) });
17
24
  this.entities.add(result);
@@ -22,10 +29,12 @@ export class ECSManager extends BaseAppManager {
22
29
  return;
23
30
  }
24
31
  this.entitiesList.push(entity);
32
+ this.entitiesToIdMap[entity.id] = entity;
25
33
  this.addEntityToQueries(entity);
26
34
  },
27
35
  remove: (entity) => {
28
36
  ArrayTools.removeItem(this.entitiesList, entity);
37
+ delete this.entitiesToIdMap[entity.id];
29
38
  this.removeEntityFromAllQueries(entity);
30
39
  },
31
40
  addComponents: (entity, ...components) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ECSManager.js","sourceRoot":"","sources":["../../../src/ecs/managers/ECSManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ECSManager.js","sourceRoot":"","sources":["../../../src/ecs/managers/ECSManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flashist/appframework",
3
- "version": "0.0.190",
3
+ "version": "0.0.192",
4
4
  "scripts": {
5
5
  "build": "gulp",
6
6
  "publish:patch": "npm version patch && npm run build && cd ./dist && npm publish",