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.
- package/lib/classes/entities/circle.entity.d.ts +3 -1
- package/lib/classes/entities/circle.entity.d.ts.map +1 -1
- package/lib/classes/entities/circle.entity.js +4 -2
- package/lib/classes/entities/entity.d.ts +4 -1
- package/lib/classes/entities/entity.d.ts.map +1 -1
- package/lib/classes/entities/entity.js +9 -1
- package/lib/classes/entities/rect.entity.d.ts +3 -1
- package/lib/classes/entities/rect.entity.d.ts.map +1 -1
- package/lib/classes/entities/rect.entity.js +4 -2
- package/lib/classes/sprites/sprite.js +2 -3
- package/lib/classes/world-management.js +4 -4
- package/package.json +1 -1
@@ -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 |
|
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;
|
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"}
|
@@ -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 |
|
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;
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"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"}
|
@@ -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.
|
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 |
|
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;
|
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"}
|
@@ -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 (
|
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
|
-
|
17
|
-
entity.
|
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.
|
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.
|
156
|
+
if (entity.havePhysicBody) {
|
157
157
|
World.remove(this.engine.world, entity.body);
|
158
158
|
}
|
159
159
|
}
|