react-simple-game-engine 0.0.45 → 0.0.48

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,8 +1,7 @@
1
1
  import { Body } from "matter-js";
2
2
  import { CreateBodyDefine, EntityInitial } from "../../export-types";
3
- import { Sprite } from "../sprites/sprite";
4
3
  import { Entity } from "./entity";
5
- export declare class CircleEntity<SpriteType extends Sprite<any> = any> extends Entity<SpriteType> {
4
+ export declare class CircleEntity extends Entity {
6
5
  radius: number;
7
6
  onSpriteWidthHeightBinding(): {
8
7
  width: number;
@@ -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,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,YAAY,CACvB,UAAU,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CACpC,SAAQ,MAAM,CAAC,UAAU,CAAC;IACnB,MAAM,EAAG,MAAM,CAAC;IAEvB,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAO/D,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,YAAY,CAAC;IAQlD,SAAS,CAAC,YAAY,CACpB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAC7D,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI;CAIR"}
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,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,YAAa,SAAQ,MAAM;IAC/B,MAAM,EAAG,MAAM,CAAC;IAEvB,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAO/D,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,YAAY,CAAC;IAQlD,SAAS,CAAC,YAAY,CACpB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAC7D,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI;CAIR"}
@@ -1,11 +1,22 @@
1
1
  import { Initialler } from "../../export-interfaces";
2
2
  import { Camera } from "../camera";
3
+ import { Scene } from "../scene";
3
4
  import { WorldManagement } from "../world-management";
4
5
  export declare abstract class EntitySult<P = any> implements Initialler<P> {
5
6
  camera: Camera;
7
+ private readonly id;
8
+ readonly tag: string;
9
+ private _scene;
10
+ private _worldManagement;
11
+ constructor();
6
12
  abstract update(): void;
7
13
  abstract draw(): void;
8
- abstract active(worldManagement: WorldManagement): void;
14
+ get scene(): Scene<any>;
15
+ get worldManagement(): WorldManagement;
16
+ getProperty<T>(name: string): T;
17
+ preInitial(worldManagement: WorldManagement): void;
18
+ active(): void;
19
+ onActive(): void;
9
20
  initial(params: P): void;
10
21
  }
11
22
  //# sourceMappingURL=entity-sult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-sult.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity-sult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8BAAsB,UAAU,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACzD,MAAM,EAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,IAAI,IAAI;IACvB,QAAQ,CAAC,IAAI,IAAI,IAAI;IACrB,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IACvD,OAAO,CAAC,MAAM,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"entity-sult.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity-sult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8BAAsB,UAAU,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACzD,MAAM,EAAG,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAsD;IACzE,SAAgB,GAAG,EAAG,MAAM,CAAC;IAE7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAmB;;IAM3C,QAAQ,CAAC,MAAM,IAAI,IAAI;IACvB,QAAQ,CAAC,IAAI,IAAI,IAAI;IAErB,IAAI,KAAK,eAER;IAED,IAAI,eAAe,oBAElB;IAED,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAI/B,UAAU,CAAC,eAAe,EAAE,eAAe;IAM3C,MAAM;IAKN,QAAQ;IACR,OAAO,CAAC,MAAM,EAAE,CAAC;CAClB"}
@@ -1,6 +1,35 @@
1
1
  var EntitySult = /** @class */ (function () {
2
2
  function EntitySult() {
3
+ this.id = "".concat(Math.random(), "-").concat(new Date().getTime());
4
+ this.tag = this.constructor.tag;
3
5
  }
6
+ Object.defineProperty(EntitySult.prototype, "scene", {
7
+ get: function () {
8
+ return this._scene;
9
+ },
10
+ enumerable: false,
11
+ configurable: true
12
+ });
13
+ Object.defineProperty(EntitySult.prototype, "worldManagement", {
14
+ get: function () {
15
+ return this._worldManagement;
16
+ },
17
+ enumerable: false,
18
+ configurable: true
19
+ });
20
+ EntitySult.prototype.getProperty = function (name) {
21
+ return this[name];
22
+ };
23
+ EntitySult.prototype.preInitial = function (worldManagement) {
24
+ this._worldManagement = worldManagement;
25
+ this._scene = this.scene;
26
+ this.camera = worldManagement.camera;
27
+ };
28
+ EntitySult.prototype.active = function () {
29
+ console.log("Initted ".concat(this.tag, " entity (id : ").concat(this.id, ")"));
30
+ this.onActive();
31
+ };
32
+ EntitySult.prototype.onActive = function () { };
4
33
  EntitySult.prototype.initial = function (params) { };
5
34
  return EntitySult;
6
35
  }());
@@ -1,26 +1,19 @@
1
1
  import Matter from "matter-js";
2
- import { WorldManagement } from "../world-management";
3
2
  import { Sprite } from "../sprites/sprite";
4
3
  import { CreateBodyDefine, EntityInitial, EntityPrepare, MasterBody, Sound } from "../../export-types";
5
4
  import { EntitySult } from "./entity-sult";
6
- export declare abstract class Entity<SpriteType extends Sprite<any> = any> extends EntitySult<EntityInitial<Entity>> {
5
+ export declare abstract class Entity extends EntitySult<EntityInitial<Entity>> {
7
6
  private _body;
8
7
  private _sprite;
9
8
  private _children;
10
- private readonly id;
11
- readonly tag: string;
12
- protected worldManagement: WorldManagement;
13
- protected sound?: Sound;
14
- constructor();
15
- set sprite(sprite: SpriteType);
16
- get sprite(): SpriteType;
9
+ sound?: Sound;
10
+ set sprite(sprite: Sprite<any>);
11
+ get sprite(): Sprite<any>;
17
12
  get position(): Matter.Vector;
18
13
  get body(): MasterBody;
19
14
  get children(): EntitySult<any>[];
20
15
  addChild(entity: EntitySult): void;
21
16
  removeChild(entity: EntitySult): void;
22
- active(worldManagement: WorldManagement): void;
23
- onActive(): void;
24
17
  createBody(transform: CreateBodyDefine["transform"], options?: CreateBodyDefine["bodyOptions"]): MasterBody;
25
18
  protected abstract onCreateBody(transform: CreateBodyDefine["transform"] | undefined, options?: CreateBodyDefine["bodyOptions"]): Matter.Body;
26
19
  initial({ sound, transform, sprite: spriteComponent, bodyOptions, }: EntityInitial<this>): 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;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,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;AAE3C,8BAAsB,MAAM,CAC1B,UAAU,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CACpC,SAAQ,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAsD;IAEzE,SAAgB,GAAG,EAAG,MAAM,CAAC;IAE7B,SAAS,CAAC,eAAe,EAAG,eAAe,CAAC;IAC5C,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;;IAOxB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,EAG5B;IAED,IAAI,MAAM,IALS,UAAU,CAO5B;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,IAAI,eAEP;IAED,IAAI,QAAQ,sBAEX;IAED,QAAQ,CAAC,MAAM,EAAE,UAAU;IAK3B,WAAW,CAAC,MAAM,EAAE,UAAU;IAQ9B,MAAM,CAAC,eAAe,EAAE,eAAe;IAKvC,QAAQ;IAER,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;AAE3C,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;IAK3B,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"}
@@ -40,10 +40,8 @@ import { EntitySult } from "./entity-sult";
40
40
  var Entity = /** @class */ (function (_super) {
41
41
  __extends(Entity, _super);
42
42
  function Entity() {
43
- var _this = _super.call(this) || this;
43
+ var _this = _super !== null && _super.apply(this, arguments) || this;
44
44
  _this._children = [];
45
- _this.id = "".concat(Math.random(), "-").concat(new Date().getTime());
46
- _this.tag = _this.constructor.tag;
47
45
  return _this;
48
46
  }
49
47
  Object.defineProperty(Entity.prototype, "sprite", {
@@ -89,12 +87,6 @@ var Entity = /** @class */ (function (_super) {
89
87
  this.worldManagement.removeEntity(entity);
90
88
  }
91
89
  };
92
- Entity.prototype.active = function (worldManagement) {
93
- console.log("Initted ".concat(this.tag, " entity (id : ").concat(this.id, ")"));
94
- this.worldManagement = worldManagement;
95
- this.onActive();
96
- };
97
- Entity.prototype.onActive = function () { };
98
90
  Entity.prototype.createBody = function (transform, options) {
99
91
  this._body = this.onCreateBody(transform, options);
100
92
  this._body.entity = this;
@@ -1,8 +1,7 @@
1
1
  import { Body } from "matter-js";
2
2
  import { CreateBodyDefine, EntityInitial } from "../../export-types";
3
- import { Sprite } from "../sprites/sprite";
4
3
  import { Entity } from "./entity";
5
- export declare class RectEntity<SpriteType extends Sprite<any> = any> extends Entity<SpriteType> {
4
+ export declare class RectEntity extends Entity {
6
5
  width: number;
7
6
  height: number;
8
7
  onSpriteWidthHeightBinding(): {
@@ -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,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,UAAU,CACrB,UAAU,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CACpC,SAAQ,MAAM,CAAC,UAAU,CAAC;IACnB,KAAK,EAAG,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAEvB,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAO/D,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,UAAU,CAAC;IAShD,SAAS,CAAC,YAAY,CACpB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,EACD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI;CAWR"}
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,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,UAAW,SAAQ,MAAM;IAC7B,KAAK,EAAG,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAEvB,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAO/D,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,UAAU,CAAC;IAShD,SAAS,CAAC,YAAY,CACpB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,EACD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,IAAI;CAWR"}
@@ -1,8 +1,11 @@
1
1
  import { Initialler } from "../export-interfaces";
2
2
  import { Configable } from "../export-types";
3
+ import { WorldManagement } from "./world-management";
3
4
  export declare class LogicComponent<C extends Initialler = Initialler> {
4
- private instance;
5
+ private configale;
6
+ private _worldManagement?;
5
7
  constructor(configale: Configable<C>);
8
+ set worldManagement(worldManagement: WorldManagement);
6
9
  output(extraParams?: Record<string, any>): C;
7
10
  }
8
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;AAG7C,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC3D,OAAO,CAAC,QAAQ,CAAI;gBACR,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAOpC,MAAM,CAAC,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;CAI7C"}
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;AAG7C,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;CAW7C"}
@@ -1,15 +1,32 @@
1
1
  import { copyProperties } from "../utils";
2
+ import { EntitySult } from "./entities/entity-sult";
2
3
  var LogicComponent = /** @class */ (function () {
3
4
  function LogicComponent(configale) {
4
- var _a = Array.isArray(configale) ? configale : [configale], Class = _a[0], params = _a[1];
5
- var c = new Class();
6
- c.initial(params);
7
- this.instance = c;
5
+ this.configale = configale;
8
6
  }
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
+ });
9
19
  LogicComponent.prototype.output = function (extraParams) {
10
20
  if (extraParams === void 0) { extraParams = {}; }
11
- copyProperties(this.instance, extraParams);
12
- return this.instance;
21
+ var configale = this.configale;
22
+ var _a = Array.isArray(configale) ? configale : [configale], Class = _a[0], params = _a[1];
23
+ var c = new Class();
24
+ if (c instanceof EntitySult && this._worldManagement) {
25
+ c.preInitial(this._worldManagement);
26
+ }
27
+ c.initial(params);
28
+ copyProperties(c, extraParams);
29
+ return c;
13
30
  };
14
31
  return LogicComponent;
15
32
  }());
@@ -22,7 +22,6 @@ export declare class ParticleSystem extends EntitySult<ParticleSystemInitialPara
22
22
  private particleClass;
23
23
  quantityPerFrame: number;
24
24
  vecWeight: number;
25
- active(): void;
26
25
  initial({ forces, particleOptions, ...params }: ParticleSystemInitialParams): void;
27
26
  update(): void;
28
27
  draw(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"particle-system.d.ts","sourceRoot":"","sources":["../../src/classes/particle-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE7D,aAAK,aAAa,GAAG;IACnB,KAAK,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,GAAG,QAAQ,CAAC;CACjE,CAAC;AAEF,aAAK,eAAe,GAAG,IAAI,CACzB,qBAAqB,EACrB,KAAK,GAAG,OAAO,GAAG,QAAQ,CAC3B,GAAG;IACF,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,aAAK,2BAA2B,GAAG;IACjC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,qBAAa,cAAe,SAAQ,UAAU,CAAC,2BAA2B,CAAC;IACzE,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAGrB;IACF,OAAO,CAAC,aAAa,CAA2B;IAEzC,gBAAgB,EAAE,MAAM,CAAM;IAC9B,SAAS,EAAE,MAAM,CAAK;IAE7B,MAAM;IAIN,OAAO,CAAC,EACN,MAAM,EACN,eAAoB,EACpB,GAAG,MAAM,EACV,EAAE,2BAA2B;IAS9B,MAAM;IAyBN,IAAI;CAKL"}
1
+ {"version":3,"file":"particle-system.d.ts","sourceRoot":"","sources":["../../src/classes/particle-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE7D,aAAK,aAAa,GAAG;IACnB,KAAK,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,GAAG,QAAQ,CAAC;CACjE,CAAC;AAEF,aAAK,eAAe,GAAG,IAAI,CACzB,qBAAqB,EACrB,KAAK,GAAG,OAAO,GAAG,QAAQ,CAC3B,GAAG;IACF,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,aAAK,2BAA2B,GAAG;IACjC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,qBAAa,cAAe,SAAQ,UAAU,CAAC,2BAA2B,CAAC;IACzE,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAGrB;IACF,OAAO,CAAC,aAAa,CAA2B;IAEzC,gBAAgB,EAAE,MAAM,CAAM;IAC9B,SAAS,EAAE,MAAM,CAAK;IAE7B,OAAO,CAAC,EACN,MAAM,EACN,eAAoB,EACpB,GAAG,MAAM,EACV,EAAE,2BAA2B;IAS9B,MAAM;IAyBN,IAAI;CAKL"}
@@ -54,9 +54,6 @@ var ParticleSystem = /** @class */ (function (_super) {
54
54
  _this.vecWeight = 5;
55
55
  return _this;
56
56
  }
57
- ParticleSystem.prototype.active = function () {
58
- console.log("Initted particle system", this.particles.length);
59
- };
60
57
  ParticleSystem.prototype.initial = function (_a) {
61
58
  var _b;
62
59
  var forces = _a.forces, _c = _a.particleOptions, particleOptions = _c === void 0 ? {} : _c, params = __rest(_a, ["forces", "particleOptions"]);
@@ -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,YAEf;IAED,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAI1C,UAAU;IAIV,kBAAkB,CAAC,YAAY,EAAE,OAAO;IAKxC,aAAa,CAAC,GAAG,EAAE,MAAM;IAInB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM;IAczB,YAAY;IAElB,SAAS,CAAC,MAAM,EAAE,MAAM;IASxB,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,YAEf;IAED,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAI1C,UAAU;IAIV,kBAAkB,CAAC,YAAY,EAAE,OAAO;IAKxC,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"}
@@ -116,10 +116,11 @@ var Scene = /** @class */ (function () {
116
116
  }); });
117
117
  };
118
118
  Scene.prototype.bootstrap = function (camera) {
119
- this.worldManagement = new WorldManagement(camera);
119
+ this.worldManagement = new WorldManagement(camera, this);
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;
123
124
  var entity = component.output();
124
125
  this.worldManagement.addEntity(entity);
125
126
  }
@@ -1,10 +1,14 @@
1
1
  import { Camera } from "./camera";
2
2
  import { EntitySult } from "./entities/entity-sult";
3
+ import { Scene } from "./scene";
3
4
  export declare class WorldManagement {
4
- private camera;
5
+ private _camera;
6
+ private _scene;
5
7
  private entities;
6
8
  private engine;
7
- constructor(camera: Camera);
9
+ constructor(_camera: Camera, _scene: Scene);
10
+ get camera(): Camera;
11
+ get scene(): Scene<any>;
8
12
  destructor(): void;
9
13
  addEntity(entity: EntitySult): void;
10
14
  removeEntity(entity: EntitySult): void;
@@ -1 +1 @@
1
- {"version":3,"file":"world-management.d.ts","sourceRoot":"","sources":["../../src/classes/world-management.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qBAAa,eAAe;IAId,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAU;gBAEJ,MAAM,EAAE,MAAM;IAqClC,UAAU;IAKV,SAAS,CAAC,MAAM,EAAE,UAAU;IAU5B,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":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,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,8 +1,9 @@
1
1
  import { Engine, World, Events } from "matter-js";
2
2
  import { Entity } from "./entities/entity";
3
3
  var WorldManagement = /** @class */ (function () {
4
- function WorldManagement(camera) {
5
- this.camera = camera;
4
+ function WorldManagement(_camera, _scene) {
5
+ this._camera = _camera;
6
+ this._scene = _scene;
6
7
  this.entities = [];
7
8
  this.engine = Engine.create();
8
9
  Events.on(this.engine, "collisionStart", function (event) {
@@ -33,18 +34,31 @@ var WorldManagement = /** @class */ (function () {
33
34
  }
34
35
  });
35
36
  }
37
+ Object.defineProperty(WorldManagement.prototype, "camera", {
38
+ get: function () {
39
+ return this._camera;
40
+ },
41
+ enumerable: false,
42
+ configurable: true
43
+ });
44
+ Object.defineProperty(WorldManagement.prototype, "scene", {
45
+ get: function () {
46
+ return this._scene;
47
+ },
48
+ enumerable: false,
49
+ configurable: true
50
+ });
36
51
  WorldManagement.prototype.destructor = function () {
37
52
  World.clear(this.engine.world, false);
38
53
  Engine.clear(this.engine);
39
54
  };
40
55
  WorldManagement.prototype.addEntity = function (entity) {
41
56
  // temp pass modifier
42
- entity["camera"] = this.camera;
43
57
  this.entities.push(entity);
44
58
  if (entity instanceof Entity) {
45
59
  World.add(this.engine.world, entity.body);
46
60
  }
47
- entity.active(this);
61
+ entity.active();
48
62
  };
49
63
  WorldManagement.prototype.removeEntity = function (entity) {
50
64
  var delIndex = this.entities.indexOf(entity);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.0.45",
3
+ "version": "0.0.48",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",