@awesome-ecs/abstract 0.5.2 → 0.5.3

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.
@@ -25,3 +25,13 @@ export interface IEntityEventsManager {
25
25
  getSubscriptions(event: IEntityEvent<IEventData>): IEntityProxy[];
26
26
  clearSubscriptions(uid?: EntityEventUid): void;
27
27
  }
28
+ /**
29
+ * The EntityEventsDispatcher is the main access point for dispatching events to Entities.
30
+ *
31
+ * It can leverage the IEntityEvents manager to find Subscribers, and the IEntityUpdateQueue to register events
32
+ * into the Entity's next update.
33
+ */
34
+ export interface IEntityEventsDispatcher {
35
+ dispatchEvent(event: IEntityEvent<IEventData>, ...targets: IEntityProxy[]): void;
36
+ dispatchEvents(events: IEntityEvent<IEventData>[], ...targets: IEntityProxy[]): void;
37
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=entity-event.js.map
3
+ //# sourceMappingURL=entity-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-events.js","sourceRoot":"","sources":["../../src/entities/entity-events.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { IEntityModel } from "./entity";
2
- import { IEntityEvent, IEventData } from "./entity-event";
2
+ import { IEntityEvent, IEventData } from "./entity-events";
3
3
  import { IEntityProxy } from "./entity-proxy";
4
4
  /**
5
5
  * The Entity update state for this change.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from './components/component';
2
2
  export * from './components/identity-component';
3
3
  export * from './entities/entity';
4
- export * from './entities/entity-event';
4
+ export * from './entities/entity-events';
5
5
  export * from './entities/entity-proxy';
6
6
  export * from './entities/entity-queue';
7
7
  export * from './entities/entity-repository';
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./components/component"), exports);
18
18
  __exportStar(require("./components/identity-component"), exports);
19
19
  __exportStar(require("./entities/entity"), exports);
20
- __exportStar(require("./entities/entity-event"), exports);
20
+ __exportStar(require("./entities/entity-events"), exports);
21
21
  __exportStar(require("./entities/entity-proxy"), exports);
22
22
  __exportStar(require("./entities/entity-queue"), exports);
23
23
  __exportStar(require("./entities/entity-repository"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,kEAA+C;AAE/C,oDAAiC;AACjC,0DAAuC;AACvC,0DAAuC;AACvC,0DAAuC;AACvC,+DAA4C;AAC5C,8DAA2C;AAE3C,yDAAsC;AACtC,uDAAoC;AAEpC,8DAA2C;AAC3C,2DAAwC;AACxC,oEAAiD;AACjD,iEAA8C;AAC9C,4DAAyC;AAEzC,4DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,kEAA+C;AAE/C,oDAAiC;AACjC,2DAAwC;AACxC,0DAAuC;AACvC,0DAAuC;AACvC,+DAA4C;AAC5C,8DAA2C;AAE3C,yDAAsC;AACtC,uDAAoC;AAEpC,8DAA2C;AAC3C,2DAAwC;AACxC,oEAAiD;AACjD,iEAA8C;AAC9C,4DAAyC;AAEzC,4DAAyC"}
@@ -1,5 +1,5 @@
1
1
  import { EntityTypeUid, IEntity, IEntityModel } from "../entities/entity";
2
- import { EntityEventUid, IEntityEvent, IEventData } from "../entities/entity-event";
2
+ import { EntityEventUid, IEntityEvent, IEventData } from "../entities/entity-events";
3
3
  import { EntityProxy, IEntityProxy } from "../entities/entity-proxy";
4
4
  export interface ISystemContextRepository {
5
5
  addEntity(entityType: EntityTypeUid, model: IEntityModel, events?: IEntityEvent<IEventData>[]): void;
@@ -21,6 +21,7 @@ export interface ISystemContextEvents {
21
21
  dispatchEvent<TEventData extends IEventData>(data: TEventData, ...targets: IEntityProxy[]): void;
22
22
  dispatchEvents<TEventData extends IEventData>(data: TEventData[], ...targets: IEntityProxy[]): void;
23
23
  getEvent<TEventData extends IEventData>(uid: EntityEventUid): IEntityEvent<TEventData>;
24
+ listEvents<TEventData extends IEventData>(): IEntityEvent<TEventData>[];
24
25
  hasEvent(uid?: EntityEventUid): boolean;
25
26
  subscribeTo<TEventData extends IEventData>(uid: EntityEventUid, filter?: (event: IEntityEvent<TEventData>) => boolean): void;
26
27
  unsubscribeFrom(uid: EntityEventUid): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awesome-ecs/abstract",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "A comprehensive Entity-Component-System (ECS) Architecture implementation. Abstract components.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -32,5 +32,5 @@
32
32
  "url": "https://github.com/andreicojocaru/awesome-ecs/issues"
33
33
  },
34
34
  "homepage": "https://github.com/andreicojocaru/awesome-ecs#readme",
35
- "gitHead": "833c175fefd7678fe598f58ef1afd0d61f72353a"
35
+ "gitHead": "7c6883aba37d5fe50b25219a41f44220f8f2bbdb"
36
36
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-event.js","sourceRoot":"","sources":["../../src/entities/entity-event.ts"],"names":[],"mappings":""}