react-simple-game-engine 0.0.54 → 0.0.57
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/entity.d.ts +2 -1
- package/lib/classes/entities/entity.d.ts.map +1 -1
- package/lib/classes/entities/entity.js +6 -4
- package/lib/classes/world-management.d.ts +5 -2
- package/lib/classes/world-management.d.ts.map +1 -1
- package/lib/classes/world-management.js +30 -3
- package/lib/export-types.d.ts +2 -1
- package/lib/export-types.d.ts.map +1 -1
- package/package.json +1 -1
@@ -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({
|
21
|
+
initial({ transform, sprite: spriteComponent, bodyOptions, ...params }: 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;
|
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,MAAM,EACV,EAAE,aAAa,CAAC,IAAI,CAAC;IAsCtB,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", {
|
@@ -96,11 +98,11 @@ var Entity = /** @class */ (function (_super) {
|
|
96
98
|
return this._body;
|
97
99
|
};
|
98
100
|
Entity.prototype.initial = function (_a) {
|
99
|
-
var
|
100
|
-
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;
|
101
|
-
var _j = this.onPrepare(), transformAlt = _j.transform, bodyOptionsAlt = _j.bodyOptions, spriteComponentAlt = _j.sprite;
|
101
|
+
var _b = _a.transform, transform = _b === void 0 ? {} : _b, spriteComponent = _a.sprite, _c = _a.bodyOptions, bodyOptions = _c === void 0 ? {} : _c, params = __rest(_a, ["transform", "sprite", "bodyOptions"]);
|
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, dfParams = __rest(_d, ["transform", "bodyOptions", "sprite"]);
|
103
|
+
var _j = this.onPrepare(), transformAlt = _j.transform, bodyOptionsAlt = _j.bodyOptions, spriteComponentAlt = _j.sprite, paramsAlt = __rest(_j, ["transform", "bodyOptions", "sprite"]);
|
102
104
|
this.createBody(__assign(__assign(__assign({ x: x, y: y }, dfTransform), transform), transformAlt), __assign(__assign(__assign({}, dfBodyOptions), bodyOptions), bodyOptionsAlt));
|
103
|
-
this
|
105
|
+
copyProperties(this, __assign(__assign(__assign({}, dfParams), params), paramsAlt));
|
104
106
|
//@ts-ignore
|
105
107
|
this.sprite =
|
106
108
|
(dfSpriteComponent === null || dfSpriteComponent === void 0 ? void 0 : dfSpriteComponent.output()) ||
|
@@ -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
|
8
|
-
private
|
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":"
|
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.
|
8
|
-
this.
|
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;
|
package/lib/export-types.d.ts
CHANGED
@@ -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,
|
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"}
|