react-simple-game-engine 0.3.10 → 0.3.12

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.
@@ -19,7 +19,7 @@ declare type TimerOptions = {
19
19
  };
20
20
  declare type AddSensorParams = {
21
21
  name?: string;
22
- position?: Point;
22
+ relativePosition?: Point;
23
23
  } & ({
24
24
  shape?: "rect";
25
25
  width: number;
@@ -85,7 +85,7 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
85
85
  * @param {boolean} debugColor allow to change sensor color
86
86
  * @void
87
87
  */
88
- addSensor({ position, name, shape, width, height, radius }: AddSensorParams, debug?: boolean, debugColor?: Color): void;
88
+ addSensor({ relativePosition, name, shape, width, height, radius, }: AddSensorParams, debug?: boolean, debugColor?: Color): void;
89
89
  createBody(enabledPhysicBody: boolean, transform: CreateBodyDefine["transform"], options?: CreateBodyDefine["bodyOptions"]): MasterBody | {
90
90
  position: Point;
91
91
  entity: Entity<Record<string, any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"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"}
@@ -190,18 +190,22 @@ var Entity = /** @class */ (function (_super) {
190
190
  * @void
191
191
  */
192
192
  Entity.prototype.addSensor = function (_a, debug, debugColor) {
193
- var position = _a.position, name = _a.name, _b = _a.shape, shape = _b === void 0 ? "rect" : _b, width = _a.width, height = _a.height, radius = _a.radius;
193
+ var relativePosition = _a.relativePosition, name = _a.name, _b = _a.shape, shape = _b === void 0 ? "rect" : _b, width = _a.width, height = _a.height, radius = _a.radius;
194
194
  if (debug === void 0) { debug = false; }
195
195
  name = name || genId();
196
- var pos = __assign({}, this.position);
196
+ relativePosition = relativePosition || { x: 0, y: 0 };
197
+ var pos = {
198
+ x: this.position.x + relativePosition.x,
199
+ y: this.position.y + relativePosition.y,
200
+ };
197
201
  var sensor;
198
202
  if (shape === "rect") {
199
- sensor = new Sensor(this, name, position || { x: 0, y: 0 }, { width: width, height: height }, shape, Bodies.rectangle(pos.x, pos.y, width, height, {
203
+ sensor = new Sensor(this, name, relativePosition, { width: width, height: height }, shape, Bodies.rectangle(pos.x, pos.y, width, height, {
200
204
  isSensor: true,
201
205
  }), debug, debugColor);
202
206
  }
203
207
  else {
204
- sensor = new Sensor(this, name, position || { x: 0, y: 0 }, { width: radius * 2, height: radius * 2 }, shape, Bodies.circle(pos.x, pos.y, radius, {
208
+ sensor = new Sensor(this, name, relativePosition, { width: radius * 2, height: radius * 2 }, shape, Bodies.circle(pos.x, pos.y, radius, {
205
209
  isSensor: true,
206
210
  }), debug, debugColor);
207
211
  }
@@ -1,14 +1,16 @@
1
+ /// <reference types="matter-js" />
1
2
  import { Color, Point, SensorBody, Size } from "../export-types";
2
3
  import { Entity } from "./entities/entity";
3
4
  export declare class Sensor {
4
5
  readonly entity: Entity;
5
6
  readonly name: string;
6
- readonly position: Point;
7
+ readonly relativePosition: Point;
7
8
  readonly size: Size;
8
9
  readonly shape: "rect" | "circle";
9
10
  readonly body: SensorBody;
10
11
  readonly debug: boolean;
11
12
  readonly debugColor: Color;
12
- constructor(entity: Entity, name: string, position: Point, size: Size, shape: "rect" | "circle", body: SensorBody, debug?: boolean, debugColor?: Color);
13
+ constructor(entity: Entity, name: string, relativePosition: Point, size: Size, shape: "rect" | "circle", body: SensorBody, debug?: boolean, debugColor?: Color);
14
+ get position(): import("matter-js").Vector;
13
15
  }
14
16
  //# sourceMappingURL=sensor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sensor.d.ts","sourceRoot":"","sources":["../../src/classes/sensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,MAAM;aAEC,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;aACZ,QAAQ,EAAE,KAAK;aACf,IAAI,EAAE,IAAI;aACV,KAAK,EAAE,MAAM,GAAG,QAAQ;aACxB,IAAI,EAAE,UAAU;aAChB,KAAK,EAAE,OAAO;aACd,UAAU,EAAE,KAAK;gBAPjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,GAAG,QAAQ,EACxB,IAAI,EAAE,UAAU,EAChB,KAAK,GAAE,OAAe,EACtB,UAAU,GAAE,KAA4B;CAK3D"}
1
+ {"version":3,"file":"sensor.d.ts","sourceRoot":"","sources":["../../src/classes/sensor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,MAAM;aAEC,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;aACZ,gBAAgB,EAAE,KAAK;aACvB,IAAI,EAAE,IAAI;aACV,KAAK,EAAE,MAAM,GAAG,QAAQ;aACxB,IAAI,EAAE,UAAU;aAChB,KAAK,EAAE,OAAO;aACd,UAAU,EAAE,KAAK;gBAPjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,KAAK,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,GAAG,QAAQ,EACxB,IAAI,EAAE,UAAU,EAChB,KAAK,GAAE,OAAe,EACtB,UAAU,GAAE,KAA4B;IAM1D,IAAI,QAAQ,+BAEX;CACF"}
@@ -1,10 +1,10 @@
1
1
  var Sensor = /** @class */ (function () {
2
- function Sensor(entity, name, position, size, shape, body, debug, debugColor) {
2
+ function Sensor(entity, name, relativePosition, size, shape, body, debug, debugColor) {
3
3
  if (debug === void 0) { debug = false; }
4
4
  if (debugColor === void 0) { debugColor = [212, 200, 200, 100]; }
5
5
  this.entity = entity;
6
6
  this.name = name;
7
- this.position = position;
7
+ this.relativePosition = relativePosition;
8
8
  this.size = size;
9
9
  this.shape = shape;
10
10
  this.body = body;
@@ -13,6 +13,13 @@ var Sensor = /** @class */ (function () {
13
13
  this.body.sensor = this;
14
14
  this.body.entity = this.entity;
15
15
  }
16
+ Object.defineProperty(Sensor.prototype, "position", {
17
+ get: function () {
18
+ return this.body.position;
19
+ },
20
+ enumerable: false,
21
+ configurable: true
22
+ });
16
23
  return Sensor;
17
24
  }());
18
25
  export { Sensor };
@@ -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;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,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,GAAG,cAAc,CAAC,UAAU,CAAC;IAczD,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;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,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;IAqDhE,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,6 +1,7 @@
1
1
  import { Engine, World, Events, Body } from "matter-js";
2
2
  import { Entity } from "./entities/entity";
3
3
  import { EntitySuit } from "./entities/entity-suit";
4
+ import { Sensor } from "./sensor";
4
5
  var WorldManagement = /** @class */ (function () {
5
6
  function WorldManagement(_camera, _scene) {
6
7
  var _this = this;
@@ -12,13 +13,14 @@ var WorldManagement = /** @class */ (function () {
12
13
  this._engine = Engine.create();
13
14
  Events.on(this.engine, "beforeUpdate", function () {
14
15
  var gravity = _this.engine.gravity;
15
- _this.iterateEntities(function (entity) {
16
- if (entity instanceof Entity &&
17
- entity.havePhysicBody &&
18
- !entity.enabledGravity) {
19
- Body.applyForce(entity.body, entity.position, {
20
- x: -gravity.x * gravity.scale * entity.body.mass,
21
- y: -gravity.y * gravity.scale * entity.body.mass,
16
+ _this.iterateEntities(function (target) {
17
+ if ((target instanceof Entity &&
18
+ target.havePhysicBody &&
19
+ !target.enabledGravity) ||
20
+ target instanceof Sensor) {
21
+ Body.applyForce(target.body, target.position, {
22
+ x: -gravity.x * gravity.scale * target.body.mass,
23
+ y: -gravity.y * gravity.scale * target.body.mass,
22
24
  });
23
25
  }
24
26
  });
@@ -198,10 +200,10 @@ var WorldManagement = /** @class */ (function () {
198
200
  if (entity instanceof Entity) {
199
201
  var _a = entity.position, entityX = _a.x, entityY = _a.y;
200
202
  for (var _i = 0, _b = entity.sensors; _i < _b.length; _i++) {
201
- var _c = _b[_i], body = _c.body, position = _c.position;
203
+ var _c = _b[_i], body = _c.body, relativePosition = _c.relativePosition;
202
204
  Body.setPosition(body, {
203
- x: entityX + position.x,
204
- y: entityY + position.y,
205
+ x: entityX + relativePosition.x,
206
+ y: entityY + relativePosition.y,
205
207
  });
206
208
  }
207
209
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.3.10",
3
+ "version": "0.3.12",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",