react-simple-game-engine 0.1.23 → 0.1.26

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.
@@ -4,13 +4,17 @@ import { CreateBodyDefine, EntityInitial, EntityPrepare, MasterBody, Sound } fro
4
4
  import { EntitySult } from "./entity-sult";
5
5
  import { LogicComponent } from "../logic-component";
6
6
  declare type TimerJobListener = () => void;
7
+ declare type TerminateOptions = {
8
+ duration?: number;
9
+ effect: EntitySult | LogicComponent<EntitySult>;
10
+ };
7
11
  export declare abstract class Entity<P extends Record<string, any> = Record<string, any>> extends EntitySult<EntityInitial<Entity>> {
8
12
  private _body;
9
13
  private _sprite;
10
14
  private _children;
11
15
  private _props;
12
16
  private timerJobListeners;
13
- private isLive;
17
+ private isTerminate;
14
18
  enabledGravity: boolean;
15
19
  sound?: Sound;
16
20
  set sprite(sprite: Sprite<any>);
@@ -20,10 +24,12 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
20
24
  get children(): EntitySult<any>[];
21
25
  get props(): P;
22
26
  /**
23
- * @param {number} duration in seconds (duration to disappear from world), default: 2 seconds
27
+ * @param {TerminateOptions} options
28
+ * #duration: time to disappear from the world in seconds, default: 0.2 seconds
29
+ * #effect: effect to showing on duration time
24
30
  * @void
25
31
  */
26
- die(duration?: number): void;
32
+ terminate(options?: TerminateOptions): void;
27
33
  /**
28
34
  * @param {string} name
29
35
  * @param {number} interval in seconds
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAwB,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,EACN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,aAAK,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAEnC,8BAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACnD,SAAQ,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAQlB;IACP,OAAO,CAAC,MAAM,CAAQ;IAEf,cAAc,EAAE,OAAO,CAAQ;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IAErB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAG7B;IAED,IAAI,MAAM,IALS,MAAM,CAAC,GAAG,CAAC,CAO7B;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,IAAI,eAEP;IAED,IAAI,QAAQ,sBAEX;IAED,IAAI,KAAK,MAER;IAED;;;OAGG;IACH,GAAG,CAAC,QAAQ,GAAE,MAAU;IAWxB;;;;;OAKG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,gBAAgB,EACrB,UAAU,UAAQ;IAcpB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IASxD,WAAW,CAAC,MAAM,EAAE,UAAU;IAQ9B,UAAU,CACR,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAO3C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI;IAEd,OAAO,CAAC,EACN,SAAS,EACT,MAAM,EAAE,eAAe,EACvB,WAAW,EACX,KAAU,EACV,GAAG,MAAM,EACV,EAAE,aAAa,CAAC,IAAI,CAAC;IAiDtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IACnD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAiBN,QAAQ;IAER,IAAI;IAIJ,QAAQ,CAAC,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAExE,WAAW,CAAC,MAAM,EAAE,MAAM;IAC1B,cAAc,CAAC,MAAM,EAAE,MAAM;IAC7B,iBAAiB,CAAC,MAAM,EAAE,MAAM;CACjC"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAwB,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,EACN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,aAAK,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAEnC,aAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;CACjD,CAAC;AAEF,8BAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACnD,SAAQ,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAQlB;IACP,OAAO,CAAC,WAAW,CAAS;IAErB,cAAc,EAAE,OAAO,CAAQ;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IAErB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAG7B;IAED,IAAI,MAAM,IALS,MAAM,CAAC,GAAG,CAAC,CAO7B;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,IAAI,eAEP;IAED,IAAI,QAAQ,sBAEX;IAED,IAAI,KAAK,MAER;IAED;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB;IAoBpC;;;;;OAKG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,gBAAgB,EACrB,UAAU,UAAQ;IAcpB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IASxD,WAAW,CAAC,MAAM,EAAE,UAAU;IAQ9B,UAAU,CACR,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAO3C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI;IAEd,OAAO,CAAC,EACN,SAAS,EACT,MAAM,EAAE,eAAe,EACvB,WAAW,EACX,KAAU,EACV,GAAG,MAAM,EACV,EAAE,aAAa,CAAC,IAAI,CAAC;IAiDtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IACnD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAiBN,QAAQ;IAER,IAAI;IAIJ,QAAQ,CAAC,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAExE,WAAW,CAAC,MAAM,EAAE,MAAM;IAC1B,cAAc,CAAC,MAAM,EAAE,MAAM;IAC7B,iBAAiB,CAAC,MAAM,EAAE,MAAM;CACjC"}
@@ -46,7 +46,7 @@ var Entity = /** @class */ (function (_super) {
46
46
  _this._children = [];
47
47
  _this._props = {};
48
48
  _this.timerJobListeners = {};
49
- _this.isLive = true;
49
+ _this.isTerminate = false;
50
50
  _this.enabledGravity = true;
51
51
  return _this;
52
52
  }
@@ -90,20 +90,30 @@ var Entity = /** @class */ (function (_super) {
90
90
  configurable: true
91
91
  });
92
92
  /**
93
- * @param {number} duration in seconds (duration to disappear from world), default: 2 seconds
93
+ * @param {TerminateOptions} options
94
+ * #duration: time to disappear from the world in seconds, default: 0.2 seconds
95
+ * #effect: effect to showing on duration time
94
96
  * @void
95
97
  */
96
- Entity.prototype.die = function (duration) {
98
+ Entity.prototype.terminate = function (options) {
97
99
  var _this = this;
98
- if (duration === void 0) { duration = 2; }
99
- this.isLive = false;
100
- Body.setVelocity(this.body, {
101
- y: 0,
102
- x: 0,
103
- });
104
- setTimeout(function () {
105
- _this.worldManagement.removeEntity(_this);
106
- }, duration * 1000);
100
+ if (options) {
101
+ var _a = options.duration, duration = _a === void 0 ? 0.2 : _a, effect = options.effect;
102
+ this.isTerminate = true;
103
+ Body.setVelocity(this.body, {
104
+ y: 0,
105
+ x: 0,
106
+ });
107
+ this.sprite = new ColorSprite();
108
+ this.sprite.source = [0, 0, 0, 0];
109
+ this.addChild(effect);
110
+ setTimeout(function () {
111
+ _this.worldManagement.removeEntity(_this);
112
+ }, duration * 1000);
113
+ }
114
+ else {
115
+ this.worldManagement.removeEntity(this);
116
+ }
107
117
  };
108
118
  /**
109
119
  * @param {string} name
@@ -163,7 +173,7 @@ var Entity = /** @class */ (function (_super) {
163
173
  return {};
164
174
  };
165
175
  Entity.prototype.update = function () {
166
- if (this.isLive) {
176
+ if (!this.isTerminate) {
167
177
  this.onUpdate();
168
178
  }
169
179
  for (var name_1 in this.timerJobListeners) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.1.23",
3
+ "version": "0.1.26",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",