react-simple-game-engine 0.3.2 → 0.3.4

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.
@@ -1,5 +1,8 @@
1
1
  import { AnimationInitialParams } from "../../export-types";
2
2
  export declare abstract class AnimationSprite {
3
+ onCompletedCycle?: (info: {
4
+ timeCounter: number;
5
+ }) => void;
3
6
  protected currentFrame: number;
4
7
  protected _isRunning: boolean;
5
8
  protected timeCounter: number;
@@ -1 +1 @@
1
- {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/classes/animations/animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,8BAAsB,eAAe;IACnC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAK;IACnC,SAAS,CAAC,UAAU,UAAQ;IAC5B,SAAS,CAAC,WAAW,SAAK;IAE1B,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAK;IAEzB,IAAI,SAAS,IAIa,OAAO,CAFhC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,EAQhC;IAED,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAEtD,IAAI;IAwBJ,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO;IAC3C,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;CAClC"}
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/classes/animations/animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,8BAAsB,eAAe;IACnC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAE3D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAK;IACnC,SAAS,CAAC,UAAU,UAAQ;IAC5B,SAAS,CAAC,WAAW,SAAK;IAE1B,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAK;IAEzB,IAAI,SAAS,IAIa,OAAO,CAFhC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,EAQhC;IAED,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAEtD,IAAI;IAyBJ,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO;IAC3C,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;CAClC"}
@@ -24,6 +24,7 @@ var AnimationSprite = /** @class */ (function () {
24
24
  configurable: true
25
25
  });
26
26
  AnimationSprite.prototype.draw = function () {
27
+ var _a;
27
28
  if (this.checkFrameMax()) {
28
29
  this.currentFrame = 0;
29
30
  this.cycleCounter++;
@@ -32,6 +33,7 @@ var AnimationSprite = /** @class */ (function () {
32
33
  // if max cycle = 0, then don't care about counter, just infinite
33
34
  if (this.maxCycle) {
34
35
  if (this.cycleCounter > this.maxCycle) {
36
+ (_a = this.onCompletedCycle) === null || _a === void 0 ? void 0 : _a.call(this, { timeCounter: this.timeCounter });
35
37
  this.isRunning = false;
36
38
  }
37
39
  }
@@ -2,6 +2,7 @@ import { Engine, Body } from "matter-js";
2
2
  import { SimpleCamera } from "./simple-camera";
3
3
  import { Scene } from "./scene";
4
4
  import { EntitySuit } from "./entities/entity-suit";
5
+ import { LogicComponent } from "./logic-component";
5
6
  export declare class WorldManagement {
6
7
  private _camera;
7
8
  private _scene;
@@ -26,7 +27,7 @@ export declare class WorldManagement {
26
27
  }): T;
27
28
  addBody(body: Body): void;
28
29
  removeBody(body: Body): void;
29
- addEntity(entity: EntitySuit): void;
30
+ addEntity(target: EntitySuit | LogicComponent<EntitySuit>): void;
30
31
  removeEntity(entity: EntitySuit): void;
31
32
  update(): void;
32
33
  draw(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"world-management.d.ts","sourceRoot":"","sources":["../../src/classes/world-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,IAAI,EAAE,MAAM,WAAW,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qBAAa,eAAe;IAWd,OAAO,CAAC,OAAO;IAAgB,OAAO,CAAC,MAAM;IAVzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGtB;IACP,OAAO,CAAC,QAAQ,CAAC,YAAY,CACxB;IAEL,OAAO,CAAC,OAAO,CAAS;gBAEJ,OAAO,EAAE,YAAY,EAAU,MAAM,EAAE,KAAK;IAoDhE,OAAO,CAAC,mBAAmB;IAiB3B,IAAI,MAAM,WAET;IAED,IAAI,MAAM,iBAET;IAED,IAAI,KAAK,eAER;IAED,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI;IAqB1E,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAWf,UAAU;IAKV,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM;IAK3D,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAKpD,kBAAkB;IAMlB,SAAS,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EACzC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,CAAA;KAAE,GAC3B,CAAC;IAgBJ,OAAO,CAAC,IAAI,EAAE,IAAI;IAIlB,UAAU,CAAC,IAAI,EAAE,IAAI;IAIrB,SAAS,CAAC,MAAM,EAAE,UAAU;IAa5B,YAAY,CAAC,MAAM,EAAE,UAAU;IAoB/B,MAAM;IAiBN,IAAI;CAqBL"}
1
+ {"version":3,"file":"world-management.d.ts","sourceRoot":"","sources":["../../src/classes/world-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,IAAI,EAAE,MAAM,WAAW,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,eAAe;IAWd,OAAO,CAAC,OAAO;IAAgB,OAAO,CAAC,MAAM;IAVzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGtB;IACP,OAAO,CAAC,QAAQ,CAAC,YAAY,CACxB;IAEL,OAAO,CAAC,OAAO,CAAS;gBAEJ,OAAO,EAAE,YAAY,EAAU,MAAM,EAAE,KAAK;IAoDhE,OAAO,CAAC,mBAAmB;IAiB3B,IAAI,MAAM,WAET;IAED,IAAI,MAAM,iBAET;IAED,IAAI,KAAK,eAER;IAED,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI;IAqB1E,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAWf,UAAU;IAKV,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM;IAK3D,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAKpD,kBAAkB;IAMlB,SAAS,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EACzC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,CAAA;KAAE,GAC3B,CAAC;IAgBJ,OAAO,CAAC,IAAI,EAAE,IAAI;IAIlB,UAAU,CAAC,IAAI,EAAE,IAAI;IAIrB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IAczD,YAAY,CAAC,MAAM,EAAE,UAAU;IAoB/B,MAAM;IAiBN,IAAI;CAqBL"}
@@ -1,5 +1,6 @@
1
1
  import { Engine, World, Events, Body } from "matter-js";
2
2
  import { Entity } from "./entities/entity";
3
+ import { EntitySuit } from "./entities/entity-suit";
3
4
  var WorldManagement = /** @class */ (function () {
4
5
  function WorldManagement(_camera, _scene) {
5
6
  var _this = this;
@@ -157,7 +158,8 @@ var WorldManagement = /** @class */ (function () {
157
158
  WorldManagement.prototype.removeBody = function (body) {
158
159
  World.remove(this.engine.world, body);
159
160
  };
160
- WorldManagement.prototype.addEntity = function (entity) {
161
+ WorldManagement.prototype.addEntity = function (target) {
162
+ var entity = target instanceof EntitySuit ? target : target.output();
161
163
  this.joinPool(entity.layerIndex, entity);
162
164
  this.entitiesHash[entity.id] = entity;
163
165
  this.entitiesName[entity.name] = entity.id;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",