react-simple-game-engine 0.0.53 → 0.0.56

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.
@@ -7,6 +7,7 @@ export declare abstract class Entity extends EntitySult<EntityInitial<Entity>> {
7
7
  private _body;
8
8
  private _sprite;
9
9
  private _children;
10
+ enabledGravity: boolean;
10
11
  sound?: Sound;
11
12
  set sprite(sprite: Sprite<any>);
12
13
  get sprite(): Sprite<any>;
@@ -17,7 +18,7 @@ export declare abstract class Entity extends EntitySult<EntityInitial<Entity>> {
17
18
  removeChild(entity: EntitySult): void;
18
19
  createBody(transform: CreateBodyDefine["transform"], options?: CreateBodyDefine["bodyOptions"]): MasterBody;
19
20
  protected abstract onCreateBody(transform: CreateBodyDefine["transform"] | undefined, options?: CreateBodyDefine["bodyOptions"]): Matter.Body;
20
- initial({ sound, transform, sprite: spriteComponent, bodyOptions, }: EntityInitial<this>): void;
21
+ initial({ transform, sprite: spriteComponent, bodyOptions, ...parrams }: EntityInitial<this>): void;
21
22
  protected abstract onInitial(): EntityInitial<this>;
22
23
  protected onPrepare(): EntityPrepare<this>;
23
24
  update(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,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,8BAAsB,MAAO,SAAQ,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAoB;IAE9B,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,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IAMxD,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,GAAG,SAAS,EACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI;IAEd,OAAO,CAAC,EACN,KAAK,EACL,SAAc,EACd,MAAM,EAAE,eAAe,EACvB,WAAgB,GACjB,EAAE,aAAa,CAAC,IAAI,CAAC;IAgCtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IACnD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAGN,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,MAAM,MAAM,WAAW,CAAC;AAE/B,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,8BAAsB,MAAO,SAAQ,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAoB;IAE9B,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,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,GAAG,SAAS,EACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI;IAEd,OAAO,CAAC,EACN,SAAc,EACd,MAAM,EAAE,eAAe,EACvB,WAAgB,EAChB,GAAG,OAAO,EACX,EAAE,aAAa,CAAC,IAAI,CAAC;IAgCtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IACnD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAGN,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"}
@@ -37,11 +37,13 @@ var __rest = (this && this.__rest) || function (s, e) {
37
37
  };
38
38
  import { ColorSprite } from "../sprites/color.sprite";
39
39
  import { EntitySult } from "./entity-sult";
40
+ import { copyProperties } from "../../utils";
40
41
  var Entity = /** @class */ (function (_super) {
41
42
  __extends(Entity, _super);
42
43
  function Entity() {
43
44
  var _this = _super !== null && _super.apply(this, arguments) || this;
44
45
  _this._children = [];
46
+ _this.enabledGravity = true;
45
47
  return _this;
46
48
  }
47
49
  Object.defineProperty(Entity.prototype, "sprite", {
@@ -77,7 +79,9 @@ var Entity = /** @class */ (function (_super) {
77
79
  configurable: true
78
80
  });
79
81
  Entity.prototype.addChild = function (target) {
80
- var entity = target instanceof EntitySult ? target : target.output();
82
+ var entity = target instanceof EntitySult
83
+ ? target
84
+ : target.output({ worldManagement: this.worldManagement });
81
85
  this.children.push(entity);
82
86
  this.worldManagement.addEntity(entity);
83
87
  };
@@ -94,11 +98,11 @@ var Entity = /** @class */ (function (_super) {
94
98
  return this._body;
95
99
  };
96
100
  Entity.prototype.initial = function (_a) {
97
- var sound = _a.sound, _b = _a.transform, transform = _b === void 0 ? {} : _b, spriteComponent = _a.sprite, _c = _a.bodyOptions, bodyOptions = _c === void 0 ? {} : _c;
101
+ var _b = _a.transform, transform = _b === void 0 ? {} : _b, spriteComponent = _a.sprite, _c = _a.bodyOptions, bodyOptions = _c === void 0 ? {} : _c, parrams = __rest(_a, ["transform", "sprite", "bodyOptions"]);
98
102
  var _d = this.onInitial(), _e = _d.transform, _f = _e === void 0 ? {} : _e, _g = _f.x, x = _g === void 0 ? 0 : _g, _h = _f.y, y = _h === void 0 ? 0 : _h, dfTransform = __rest(_f, ["x", "y"]), dfBodyOptions = _d.bodyOptions, dfSpriteComponent = _d.sprite;
99
103
  var _j = this.onPrepare(), transformAlt = _j.transform, bodyOptionsAlt = _j.bodyOptions, spriteComponentAlt = _j.sprite;
100
104
  this.createBody(__assign(__assign(__assign({ x: x, y: y }, dfTransform), transform), transformAlt), __assign(__assign(__assign({}, dfBodyOptions), bodyOptions), bodyOptionsAlt));
101
- this.sound = sound;
105
+ copyProperties(this, parrams);
102
106
  //@ts-ignore
103
107
  this.sprite =
104
108
  (dfSpriteComponent === null || dfSpriteComponent === void 0 ? void 0 : dfSpriteComponent.output()) ||
@@ -3,9 +3,9 @@ import { Configable } from "../export-types";
3
3
  import { WorldManagement } from "./world-management";
4
4
  export declare class LogicComponent<C extends Initialler = Initialler> {
5
5
  private configale;
6
- private _worldManagement?;
7
6
  constructor(configale: Configable<C>);
8
- set worldManagement(worldManagement: WorldManagement);
9
- output(extraParams?: Record<string, any>): C;
7
+ output({ worldManagement, ...extraParams }?: {
8
+ worldManagement?: WorldManagement;
9
+ } & Record<string, any>): C;
10
10
  }
11
11
  //# sourceMappingURL=logic-component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logic-component.d.ts","sourceRoot":"","sources":["../../src/classes/logic-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAG/C,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAEvB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5C,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAMnD;IAED,MAAM,CAAC,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;CAa7C"}
1
+ {"version":3,"file":"logic-component.d.ts","sourceRoot":"","sources":["../../src/classes/logic-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC/C,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EACL,eAAe,EACf,GAAG,WAAW,EACf,GAAE;QAAE,eAAe,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;CAapE"}
@@ -1,30 +1,30 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import { copyProperties } from "../utils";
2
13
  import { EntitySult } from "./entities/entity-sult";
3
14
  var LogicComponent = /** @class */ (function () {
4
15
  function LogicComponent(configale) {
5
16
  this.configale = configale;
6
17
  }
7
- Object.defineProperty(LogicComponent.prototype, "worldManagement", {
8
- set: function (worldManagement) {
9
- if (!this._worldManagement) {
10
- this._worldManagement = worldManagement;
11
- }
12
- else {
13
- console.warn("Can not change world");
14
- }
15
- },
16
- enumerable: false,
17
- configurable: true
18
- });
19
- LogicComponent.prototype.output = function (extraParams) {
20
- if (extraParams === void 0) { extraParams = {}; }
18
+ LogicComponent.prototype.output = function (_a) {
19
+ if (_a === void 0) { _a = {}; }
20
+ var worldManagement = _a.worldManagement, extraParams = __rest(_a, ["worldManagement"]);
21
21
  var configale = this.configale;
22
- var _a = Array.isArray(configale)
22
+ var _b = Array.isArray(configale)
23
23
  ? configale
24
- : [configale], Class = _a[0], _b = _a[1], params = _b === void 0 ? {} : _b;
24
+ : [configale], Class = _b[0], _c = _b[1], params = _c === void 0 ? {} : _c;
25
25
  var c = new Class();
26
- if (c instanceof EntitySult && this._worldManagement) {
27
- c.preInitial(this._worldManagement);
26
+ if (c instanceof EntitySult && worldManagement) {
27
+ c.preInitial(worldManagement);
28
28
  }
29
29
  c.initial(params);
30
30
  copyProperties(c, extraParams);
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,aAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAE1D,8BAAsB,KAAK,CAAC,GAAG,GAAG,GAAG;IACnC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,kBAAkB,CAAsB;IAEzC,WAAW,EAAE,MAAM,CAAK;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAG,eAAe,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAA8C;aAC/D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE;;IAS3E,IAAI,EAAE,uBAGL;IAED,IAAI,OAAO,QAEV;IAED,SAAS,CAAC,MAAM;IAEhB,SAAS,CAAC,UAAU;IAIpB,IAAI,YAAY,IAIuB,OAAO,CAF7C;IAED,OAAO,KAAK,YAAY,QAGvB;IAED,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAI1C,UAAU;IAIV,aAAa,CAAC,GAAG,EAAE,MAAM;IAInB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM;IAczB,YAAY;IAElB,SAAS,CAAC,MAAM,EAAE,MAAM;IAUxB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,QAAQ;IAElB,MAAM;CAQP"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,aAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAE1D,8BAAsB,KAAK,CAAC,GAAG,GAAG,GAAG;IACnC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,kBAAkB,CAAsB;IAEzC,WAAW,EAAE,MAAM,CAAK;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAG,eAAe,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAA8C;aAC/D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE;;IAS3E,IAAI,EAAE,uBAGL;IAED,IAAI,OAAO,QAEV;IAED,SAAS,CAAC,MAAM;IAEhB,SAAS,CAAC,UAAU;IAIpB,IAAI,YAAY,IAIuB,OAAO,CAF7C;IAED,OAAO,KAAK,YAAY,QAGvB;IAED,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAI1C,UAAU;IAIV,aAAa,CAAC,GAAG,EAAE,MAAM;IAInB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM;IAczB,YAAY;IAElB,SAAS,CAAC,MAAM,EAAE,MAAM;IAWxB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,QAAQ;IAElB,MAAM;CAQP"}
@@ -120,8 +120,9 @@ var Scene = /** @class */ (function () {
120
120
  var components = this.getComponents(camera);
121
121
  for (var _i = 0, components_1 = components; _i < components_1.length; _i++) {
122
122
  var component = components_1[_i];
123
- component.worldManagement = this.worldManagement;
124
- var entity = component.output();
123
+ var entity = component.output({
124
+ worldManagement: this.worldManagement,
125
+ });
125
126
  this.worldManagement.addEntity(entity);
126
127
  }
127
128
  };
@@ -1,12 +1,15 @@
1
+ import { Engine } from "matter-js";
1
2
  import { Camera } from "./camera";
2
3
  import { Scene } from "./scene";
3
4
  import { EntitySult } from "./entities/entity-sult";
4
5
  export declare class WorldManagement {
5
6
  private _camera;
6
7
  private _scene;
7
- private entities;
8
- private engine;
8
+ private _entities;
9
+ private _engine;
9
10
  constructor(_camera: Camera, _scene: Scene);
11
+ get entities(): EntitySult<any>[];
12
+ get engine(): Engine;
10
13
  get camera(): Camera;
11
14
  get scene(): Scene<any>;
12
15
  destructor(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"world-management.d.ts","sourceRoot":"","sources":["../../src/classes/world-management.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qBAAa,eAAe;IAId,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,MAAM;IAHnD,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAU;gBAEJ,OAAO,EAAE,MAAM,EAAU,MAAM,EAAE,KAAK;IAqC1D,IAAI,MAAM,WAET;IAED,IAAI,KAAK,eAER;IAED,UAAU;IAKV,SAAS,CAAC,MAAM,EAAE,UAAU;IAS5B,YAAY,CAAC,MAAM,EAAE,UAAU;IAa/B,MAAM;IAON,IAAI;CAKL"}
1
+ {"version":3,"file":"world-management.d.ts","sourceRoot":"","sources":["../../src/classes/world-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,WAAW,CAAC;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qBAAa,eAAe;IAId,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,MAAM;IAHnD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAU;gBAEL,OAAO,EAAE,MAAM,EAAU,MAAM,EAAE,KAAK;IAgD1D,IAAI,QAAQ,sBAEX;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,WAET;IAED,IAAI,KAAK,eAER;IAED,UAAU;IAKV,SAAS,CAAC,MAAM,EAAE,UAAU;IAS5B,YAAY,CAAC,MAAM,EAAE,UAAU;IAa/B,MAAM;IAON,IAAI;CAKL"}
@@ -1,11 +1,24 @@
1
- import { Engine, World, Events } from "matter-js";
1
+ import { Engine, World, Events, Body } from "matter-js";
2
2
  import { Entity } from "./entities/entity";
3
3
  var WorldManagement = /** @class */ (function () {
4
4
  function WorldManagement(_camera, _scene) {
5
+ var _this = this;
5
6
  this._camera = _camera;
6
7
  this._scene = _scene;
7
- this.entities = [];
8
- this.engine = Engine.create();
8
+ this._entities = [];
9
+ this._engine = Engine.create();
10
+ Events.on(this.engine, "beforeUpdate", function () {
11
+ var gravity = _this.engine.gravity;
12
+ for (var _i = 0, _a = _this.entities; _i < _a.length; _i++) {
13
+ var entity = _a[_i];
14
+ if (entity instanceof Entity && !entity.enabledGravity) {
15
+ Body.applyForce(entity.body, entity.position, {
16
+ x: -gravity.x * gravity.scale * entity.body.mass,
17
+ y: -gravity.y * gravity.scale * entity.body.mass,
18
+ });
19
+ }
20
+ }
21
+ });
9
22
  Events.on(this.engine, "collisionStart", function (event) {
10
23
  var pairs = event.pairs;
11
24
  for (var _i = 0, pairs_1 = pairs; _i < pairs_1.length; _i++) {
@@ -34,6 +47,20 @@ var WorldManagement = /** @class */ (function () {
34
47
  }
35
48
  });
36
49
  }
50
+ Object.defineProperty(WorldManagement.prototype, "entities", {
51
+ get: function () {
52
+ return this._entities;
53
+ },
54
+ enumerable: false,
55
+ configurable: true
56
+ });
57
+ Object.defineProperty(WorldManagement.prototype, "engine", {
58
+ get: function () {
59
+ return this._engine;
60
+ },
61
+ enumerable: false,
62
+ configurable: true
63
+ });
37
64
  Object.defineProperty(WorldManagement.prototype, "camera", {
38
65
  get: function () {
39
66
  return this._camera;
@@ -21,8 +21,9 @@ export declare type CreateBodyDefine = {
21
21
  export declare type EntityInitial<E extends Entity> = {
22
22
  transform?: Parameters<E["onCreateBody"]>[0];
23
23
  bodyOptions?: Parameters<E["onCreateBody"]>[1];
24
- sound?: Sound;
25
24
  sprite?: import("./classes/logic-component").LogicComponent<Sprite<any>>;
25
+ sound?: Sound;
26
+ enabledGravity?: boolean;
26
27
  };
27
28
  export declare type Configable<C extends Initialler = Initialler> = {
28
29
  new (): C;
@@ -1 +1 @@
1
- {"version":3,"file":"export-types.d.ts","sourceRoot":"","sources":["../src/export-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,oBAAY,EAAE,GAAG,EAAE,CAAC;AAEpB,oBAAY,KAAK,GAAG,gBAAgB,CAAC;AACrC,oBAAY,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACjD,oBAAY,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/D,oBAAY,UAAU,GAAG,IAAI,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C,CAAC;AAEF,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAE5C,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,oBAAY,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACpD;IACE,QAAQ,CAAC,CAAC;CACX,GACD,CAAC;IAAE,QAAQ,CAAC,CAAA;CAAE,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"export-types.d.ts","sourceRoot":"","sources":["../src/export-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,oBAAY,EAAE,GAAG,EAAE,CAAC;AAEpB,oBAAY,KAAK,GAAG,gBAAgB,CAAC;AACrC,oBAAY,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACjD,oBAAY,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/D,oBAAY,UAAU,GAAG,IAAI,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C,CAAC;AAEF,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAE5C,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,oBAAY,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACpD;IACE,QAAQ,CAAC,CAAC;CACX,GACD,CAAC;IAAE,QAAQ,CAAC,CAAA;CAAE,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.0.53",
3
+ "version": "0.0.56",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",