react-simple-game-engine 0.2.106 → 0.2.108

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.
@@ -16,6 +16,8 @@ export declare class CircleEntity<P extends Record<string, any> = Record<string,
16
16
  protected onInitial(): EntityInitial<this>;
17
17
  protected onCreateBody(enabledPhysicBody: boolean, { x, y, ...transform }: NonNullable<CreateBodyDefine<{
18
18
  radius: number;
19
- }>["transform"]>, options?: CreateBodyDefine["bodyOptions"]): Body | Point;
19
+ }>["transform"]>, options?: CreateBodyDefine["bodyOptions"]): Body | {
20
+ position: Point;
21
+ };
20
22
  }
21
23
  //# sourceMappingURL=circle.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"circle.entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/circle.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAU,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,YAAY,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACnD,SAAQ,MAAM,CAAC,CAAC,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IAEtB,IAAI,IAAI;;;;;MAOP;IAED,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAOzD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAQ1C,SAAS,CAAC,YAAY,CACpB,iBAAiB,EAAE,OAAO,EAC1B,EACE,CAAC,EACD,CAAC,EACD,GAAG,SAAS,EACb,EAAE,WAAW,CAAC,gBAAgB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EACjE,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI,GAAG,KAAK;CAUhB"}
1
+ {"version":3,"file":"circle.entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/circle.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAU,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,YAAY,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACnD,SAAQ,MAAM,CAAC,CAAC,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IAEtB,IAAI,IAAI;;;;;MAOP;IAED,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAOzD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAQ1C,SAAS,CAAC,YAAY,CACpB,iBAAiB,EAAE,OAAO,EAC1B,EACE,CAAC,EACD,CAAC,EACD,GAAG,SAAS,EACb,EAAE,WAAW,CAAC,gBAAgB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EACjE,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE;CAY9B"}
@@ -64,8 +64,10 @@ var CircleEntity = /** @class */ (function (_super) {
64
64
  return Bodies.circle(x, y, this.radius, options);
65
65
  }
66
66
  return {
67
- x: x,
68
- y: y,
67
+ position: {
68
+ x: x,
69
+ y: y,
70
+ },
69
71
  };
70
72
  };
71
73
  return CircleEntity;
@@ -28,6 +28,7 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
28
28
  get position(): Matter.Vector;
29
29
  get body(): MasterBody;
30
30
  get props(): P;
31
+ get havePhysicBody(): boolean;
31
32
  /**
32
33
  * @param {TerminateOptions} options
33
34
  * #duration: time to disappear from the world in seconds, default: 0.2 seconds
@@ -45,7 +46,9 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
45
46
  position: Point;
46
47
  entity: Entity<Record<string, any>>;
47
48
  };
48
- protected abstract onCreateBody(enabledPhysicBody: boolean, transform: CreateBodyDefine["transform"], options?: CreateBodyDefine["bodyOptions"]): Matter.Body | Point;
49
+ protected abstract onCreateBody(enabledPhysicBody: boolean, transform: CreateBodyDefine["transform"], options?: CreateBodyDefine["bodyOptions"]): Matter.Body | {
50
+ position: Point;
51
+ };
49
52
  initial({ transform, sprite: spriteComponent, bodyOptions, props, ...params }: EntityInitial<this>): void;
50
53
  protected abstract onInitial(): EntityInitial<this>;
51
54
  /**
@@ -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;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,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,CAAmD;IAChE,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAKhB;IACT,OAAO,CAAC,WAAW,CAAS;IAErB,cAAc,EAAE,OAAO,CAAQ;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IAErB,QAAQ,KAAK,IAAI,IAAI;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,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,KAAK,MAER;IAED;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB;IAoBpC;;;;OAIG;IACH,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,gBAAgB,EACrB,UAAU,UAAQ,GACjB,MAAM,IAAI;IAiBb,UAAU,CACR,iBAAiB,EAAE,OAAO,EAC1B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;;;;IAW3C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,iBAAiB,EAAE,OAAO,EAC1B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI,GAAG,KAAK;IAEtB,OAAO,CAAC,EACN,SAAS,EACT,MAAM,EAAE,eAAe,EACvB,WAAW,EACX,KAAU,EACV,GAAG,MAAM,EACV,EAAE,aAAa,CAAC,IAAI,CAAC;IAmDtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAEnD;;;OAGG;IACH,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAgBN;;;OAGG;IACH,QAAQ;IAER,IAAI;IAMJ,QAAQ,CAAC,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAElE,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;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,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,CAAmD;IAChE,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAKhB;IACT,OAAO,CAAC,WAAW,CAAS;IAErB,cAAc,EAAE,OAAO,CAAQ;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IAErB,QAAQ,KAAK,IAAI,IAAI;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,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,KAAK,MAER;IAED,IAAI,cAAc,YAGjB;IAED;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB;IAoBpC;;;;OAIG;IACH,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,gBAAgB,EACrB,UAAU,UAAQ,GACjB,MAAM,IAAI;IAiBb,UAAU,CACR,iBAAiB,EAAE,OAAO,EAC1B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;;;;IAW3C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,iBAAiB,EAAE,OAAO,EAC1B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE;IAEpC,OAAO,CAAC,EACN,SAAS,EACT,MAAM,EAAE,eAAe,EACvB,WAAW,EACX,KAAU,EACV,GAAG,MAAM,EACV,EAAE,aAAa,CAAC,IAAI,CAAC;IAmDtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAEnD;;;OAGG;IACH,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAgBN;;;OAGG;IACH,QAAQ;IAER,IAAI;IAMJ,QAAQ,CAAC,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAElE,WAAW,CAAC,MAAM,EAAE,MAAM;IAC1B,cAAc,CAAC,MAAM,EAAE,MAAM;IAC7B,iBAAiB,CAAC,MAAM,EAAE,MAAM;CACjC"}
@@ -81,6 +81,14 @@ var Entity = /** @class */ (function (_super) {
81
81
  enumerable: false,
82
82
  configurable: true
83
83
  });
84
+ Object.defineProperty(Entity.prototype, "havePhysicBody", {
85
+ get: function () {
86
+ var body = this._body;
87
+ return body.id != null && !!body.force;
88
+ },
89
+ enumerable: false,
90
+ configurable: true
91
+ });
84
92
  /**
85
93
  * @param {TerminateOptions} options
86
94
  * #duration: time to disappear from the world in seconds, default: 0.2 seconds
@@ -92,7 +100,7 @@ var Entity = /** @class */ (function (_super) {
92
100
  if (options) {
93
101
  var _a = options.duration, duration = _a === void 0 ? 0.2 : _a, effect = options.effect;
94
102
  this.isTerminate = true;
95
- if (this.body instanceof Body) {
103
+ if (this.havePhysicBody) {
96
104
  Body.setVelocity(this.body, {
97
105
  y: 0,
98
106
  x: 0,
@@ -18,6 +18,8 @@ export declare class RectEntity<P extends Record<string, any> = any> extends Ent
18
18
  protected onCreateBody(enabledPhysicBody: boolean, { x, y, ...transform }: NonNullable<CreateBodyDefine<{
19
19
  width?: number;
20
20
  height?: number;
21
- }>["transform"]>, options?: CreateBodyDefine["bodyOptions"]): Body | Point;
21
+ }>["transform"]>, options?: CreateBodyDefine["bodyOptions"]): Body | {
22
+ position: Point;
23
+ };
22
24
  }
23
25
  //# sourceMappingURL=rect.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rect.entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/rect.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,IAAI,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEtB,IAAI,IAAI;;;;;MAOP;IAED,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAOzD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAS1C,SAAS,CAAC,YAAY,CACpB,iBAAiB,EAAE,OAAO,EAC1B,EACE,CAAC,EACD,CAAC,EACD,GAAG,SAAS,EACb,EAAE,WAAW,CACZ,gBAAgB,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC,WAAW,CAAC,CAChB,EACD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI,GAAG,KAAK;CAUhB"}
1
+ {"version":3,"file":"rect.entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/rect.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,IAAI,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEtB,IAAI,IAAI;;;;;MAOP;IAED,oBAAoB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAOzD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAS1C,SAAS,CAAC,YAAY,CACpB,iBAAiB,EAAE,OAAO,EAC1B,EACE,CAAC,EACD,CAAC,EACD,GAAG,SAAS,EACb,EAAE,WAAW,CACZ,gBAAgB,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC,WAAW,CAAC,CAChB,EACD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE;CAY9B"}
@@ -65,8 +65,10 @@ var RectEntity = /** @class */ (function (_super) {
65
65
  return Bodies.rectangle(x, y, this.width, this.height, options);
66
66
  }
67
67
  return {
68
- x: x,
69
- y: y,
68
+ position: {
69
+ x: x,
70
+ y: y,
71
+ },
70
72
  };
71
73
  };
72
74
  return RectEntity;
@@ -1,4 +1,3 @@
1
- import { Body } from "matter-js";
2
1
  import { Animator } from "../animations/animator";
3
2
  import { LogicComponent } from "../logic-component";
4
3
  var Sprite = /** @class */ (function () {
@@ -56,10 +55,10 @@ var Sprite = /** @class */ (function () {
56
55
  configurable: true
57
56
  });
58
57
  Sprite.prototype.draw = function () {
59
- var _a = this.entity, body = _a.body, position = _a.position, simpleCamera = _a.simpleCamera;
58
+ var _a = this.entity, body = _a.body, position = _a.position, simpleCamera = _a.simpleCamera, havePhysicBody = _a.havePhysicBody;
60
59
  Renderer.push();
61
60
  Renderer.translate(Renderer.width / 2 + position.x - simpleCamera.x, Renderer.height / 2 + position.y - simpleCamera.y);
62
- if (body instanceof Body) {
61
+ if (havePhysicBody) {
63
62
  Renderer.rotate(body.angle);
64
63
  }
65
64
  Renderer.noStroke();
@@ -13,8 +13,8 @@ var WorldManagement = /** @class */ (function () {
13
13
  var gravity = _this.engine.gravity;
14
14
  _this.iterateEntities(function (entity) {
15
15
  if (entity instanceof Entity &&
16
- !entity.enabledGravity &&
17
- entity.body instanceof Body) {
16
+ entity.havePhysicBody &&
17
+ !entity.enabledGravity) {
18
18
  Body.applyForce(entity.body, entity.position, {
19
19
  x: -gravity.x * gravity.scale * entity.body.mass,
20
20
  y: -gravity.y * gravity.scale * entity.body.mass,
@@ -145,7 +145,7 @@ var WorldManagement = /** @class */ (function () {
145
145
  this.entitiesHash[entity.id] = entity;
146
146
  this.entitiesName[entity.name] = entity.id;
147
147
  if (entity instanceof Entity) {
148
- if (entity.body instanceof Body) {
148
+ if (entity.havePhysicBody) {
149
149
  World.add(this.engine.world, entity.body);
150
150
  }
151
151
  }
@@ -153,7 +153,7 @@ var WorldManagement = /** @class */ (function () {
153
153
  };
154
154
  WorldManagement.prototype.removeEntity = function (entity) {
155
155
  if (entity instanceof Entity) {
156
- if (entity.body instanceof Body) {
156
+ if (entity.havePhysicBody) {
157
157
  World.remove(this.engine.world, entity.body);
158
158
  }
159
159
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.2.106",
3
+ "version": "0.2.108",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",