react-simple-game-engine 0.0.38 → 0.0.41
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-sult.d.ts +2 -2
- package/lib/classes/entities/entity-sult.d.ts.map +1 -1
- package/lib/classes/entities/entity.d.ts +1 -1
- package/lib/classes/entities/entity.d.ts.map +1 -1
- package/lib/classes/particle-system.d.ts +13 -6
- package/lib/classes/particle-system.d.ts.map +1 -1
- package/lib/classes/particle-system.js +4 -2
- package/lib/classes/particle.d.ts +16 -12
- package/lib/classes/particle.d.ts.map +1 -1
- package/lib/classes/particle.js +19 -14
- package/lib/export-interfaces.d.ts +2 -2
- package/lib/export-interfaces.d.ts.map +1 -1
- package/package.json +1 -1
@@ -1,9 +1,9 @@
|
|
1
1
|
import { Initialler } from "../../export-interfaces";
|
2
2
|
import { WorldManagement } from "../world-management";
|
3
|
-
export declare abstract class EntitySult implements Initialler {
|
3
|
+
export declare abstract class EntitySult<P = any> implements Initialler<P> {
|
4
4
|
abstract update(): void;
|
5
5
|
abstract draw(): void;
|
6
6
|
abstract active(worldManagement: WorldManagement): void;
|
7
|
-
initial(params
|
7
|
+
initial(params: P): void;
|
8
8
|
}
|
9
9
|
//# 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,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8BAAsB,
|
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,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8BAAsB,UAAU,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAChE,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"}
|
@@ -4,7 +4,7 @@ import { WorldManagement } from "../world-management";
|
|
4
4
|
import { Sprite } from "../sprites/sprite";
|
5
5
|
import { CreateBodyDefine, EntityInitial, EntityPrepare, MasterBody, Sound } from "../../export-types";
|
6
6
|
import { EntitySult } from "./entity-sult";
|
7
|
-
export declare abstract class Entity<SpriteType extends Sprite<any> = any> extends EntitySult {
|
7
|
+
export declare abstract class Entity<SpriteType extends Sprite<any> = any> extends EntitySult<EntityInitial<Entity>> {
|
8
8
|
private _body;
|
9
9
|
private _sprite;
|
10
10
|
private readonly id;
|
@@ -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,WAAW,CAAC;AACnC,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;
|
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,WAAW,CAAC;AACnC,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,QAAQ,CAAC,EAAE,CAAsD;IAEzE,SAAgB,GAAG,EAAG,MAAM,CAAC;IACtB,MAAM,EAAG,MAAM,CAAC;IAEvB,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,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,7 +1,17 @@
|
|
1
1
|
import p5 from "p5";
|
2
2
|
import { Camera } from "./camera";
|
3
3
|
import { EntitySult } from "./entities/entity-sult";
|
4
|
-
|
4
|
+
import { ParticleInitialParams } from "./particle";
|
5
|
+
declare type ParticleOptions = Omit<ParticleInitialParams, "vec" | "angle" | "camera"> & {
|
6
|
+
x?: number;
|
7
|
+
y?: number;
|
8
|
+
};
|
9
|
+
declare type ParticleSystemInitialParams = ParticleOptions & {
|
10
|
+
quantityPerFrame?: number;
|
11
|
+
vecWeight?: number;
|
12
|
+
forces?: p5.Vector[];
|
13
|
+
};
|
14
|
+
export declare class ParticleSystem extends EntitySult<ParticleSystemInitialParams> {
|
5
15
|
private particles;
|
6
16
|
private forces;
|
7
17
|
private particleOptions;
|
@@ -9,12 +19,9 @@ export declare class ParticleSystem extends EntitySult {
|
|
9
19
|
vecWeight: number;
|
10
20
|
camera: Camera;
|
11
21
|
active(): void;
|
12
|
-
initial({ quantityPerFrame, forces, vecWeight, ...params }:
|
13
|
-
quantityPerFrame?: number;
|
14
|
-
vecWeight?: number;
|
15
|
-
forces?: p5.Vector[];
|
16
|
-
}): void;
|
22
|
+
initial({ quantityPerFrame, forces, vecWeight, ...params }: ParticleSystemInitialParams): void;
|
17
23
|
update(): void;
|
18
24
|
draw(): void;
|
19
25
|
}
|
26
|
+
export {};
|
20
27
|
//# sourceMappingURL=particle-system.d.ts.map
|
@@ -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;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
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,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAY,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE7D,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,eAAe,GAAG;IACnD,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;IACK,gBAAgB,EAAE,MAAM,CAAO;IAC/B,SAAS,EAAE,MAAM,CAAM;IACvB,MAAM,EAAG,MAAM,CAAC;IAEvB,MAAM;IAIN,OAAO,CAAC,EACN,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,GAAG,MAAM,EACV,EAAE,2BAA2B;IAe9B,MAAM;IAwBN,IAAI;CAKL"}
|
@@ -45,6 +45,10 @@ var ParticleSystem = /** @class */ (function (_super) {
|
|
45
45
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
46
46
|
_this.particles = [];
|
47
47
|
_this.forces = [];
|
48
|
+
_this.particleOptions = {
|
49
|
+
x: 0,
|
50
|
+
y: 0,
|
51
|
+
};
|
48
52
|
_this.quantityPerFrame = 100;
|
49
53
|
_this.vecWeight = 10;
|
50
54
|
return _this;
|
@@ -55,8 +59,6 @@ var ParticleSystem = /** @class */ (function (_super) {
|
|
55
59
|
ParticleSystem.prototype.initial = function (_a) {
|
56
60
|
var _b;
|
57
61
|
var quantityPerFrame = _a.quantityPerFrame, forces = _a.forces, vecWeight = _a.vecWeight, params = __rest(_a, ["quantityPerFrame", "forces", "vecWeight"]);
|
58
|
-
params.x = params.x || 0;
|
59
|
-
params.y = params.y || 0;
|
60
62
|
copyProperties(this.particleOptions, params);
|
61
63
|
if (quantityPerFrame != null) {
|
62
64
|
this.quantityPerFrame = quantityPerFrame;
|
@@ -1,7 +1,18 @@
|
|
1
1
|
import p5 from "p5";
|
2
|
+
import { Initialler } from "../export-interfaces";
|
2
3
|
import { Avatar, Color } from "../export-types";
|
3
4
|
import { Camera } from "./camera";
|
4
|
-
export declare
|
5
|
+
export declare type ParticleInitialParams = {
|
6
|
+
vec?: p5.Vector;
|
7
|
+
angle?: number;
|
8
|
+
sprite?: Avatar;
|
9
|
+
color?: Color;
|
10
|
+
size?: number;
|
11
|
+
lifetime?: number;
|
12
|
+
camera: Camera;
|
13
|
+
forceSpriteSize?: boolean;
|
14
|
+
};
|
15
|
+
export declare class Particle extends p5.Vector implements Initialler<ParticleInitialParams> {
|
5
16
|
private vec;
|
6
17
|
private acc;
|
7
18
|
private angle;
|
@@ -9,23 +20,16 @@ export declare class Particle extends p5.Vector {
|
|
9
20
|
sprite?: Avatar;
|
10
21
|
color: Color;
|
11
22
|
size: number;
|
12
|
-
private _lifetime;
|
13
23
|
lifetimeRemain: number;
|
24
|
+
private forceSpriteSize;
|
25
|
+
private _lifetime;
|
14
26
|
set lifetime(lifetime: number);
|
15
27
|
get lifetime(): number;
|
16
|
-
initial({ vec, ...params }:
|
17
|
-
vec?: p5.Vector;
|
18
|
-
angle?: number;
|
19
|
-
sprite?: Avatar;
|
20
|
-
color?: Color;
|
21
|
-
size?: number;
|
22
|
-
lifetime?: number;
|
23
|
-
camera: Camera;
|
24
|
-
}): void;
|
28
|
+
initial({ vec, ...params }: ParticleInitialParams): void;
|
25
29
|
applyForce(force: p5.Vector): void;
|
26
30
|
isDead(): boolean;
|
27
31
|
update(): void;
|
28
32
|
draw(): void;
|
29
|
-
onDraw(): void;
|
33
|
+
onDraw(color: Color): void;
|
30
34
|
}
|
31
35
|
//# sourceMappingURL=particle.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"particle.d.ts","sourceRoot":"","sources":["../../src/classes/particle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,
|
1
|
+
{"version":3,"file":"particle.d.ts","sourceRoot":"","sources":["../../src/classes/particle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,oBAAY,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,QACX,SAAQ,EAAE,CAAC,MACX,YAAW,UAAU,CAAC,qBAAqB,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAsC;IACjD,OAAO,CAAC,GAAG,CAAsC;IACjD,OAAO,CAAC,KAAK,CAAa;IACnB,MAAM,EAAG,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAmB;IAC/B,IAAI,EAAE,MAAM,CAAM;IAClB,cAAc,EAAE,MAAM,CAAiB;IAE9C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAa;IAE9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAG5B;IAED,IAAI,QAAQ,IALW,MAAM,CAO5B;IAED,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,qBAAqB;IAOjD,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM;IAI3B,MAAM;IAIN,MAAM;IAQN,IAAI;IAkCJ,MAAM,CAAC,KAAK,EAAE,KAAK;CAIpB"}
|
package/lib/classes/particle.js
CHANGED
@@ -44,8 +44,9 @@ var Particle = /** @class */ (function (_super) {
|
|
44
44
|
_this.angle = 0;
|
45
45
|
_this.color = [255, 255, 255];
|
46
46
|
_this.size = 10;
|
47
|
-
_this._lifetime = 2; // in seconds
|
48
47
|
_this.lifetimeRemain = _this.lifetime; // in seconds
|
48
|
+
_this.forceSpriteSize = false;
|
49
|
+
_this._lifetime = 2; // in seconds
|
49
50
|
return _this;
|
50
51
|
}
|
51
52
|
Object.defineProperty(Particle.prototype, "lifetime", {
|
@@ -83,27 +84,31 @@ var Particle = /** @class */ (function (_super) {
|
|
83
84
|
Renderer.noStroke();
|
84
85
|
Renderer.translate(this.x - this.camera.x, this.y - this.camera.y);
|
85
86
|
Renderer.rotate(this.angle);
|
87
|
+
var color = __spreadArray([], this.color, true);
|
88
|
+
var alpha = Renderer.map(this.lifetimeRemain, 0, this.lifetime, 0, 255);
|
89
|
+
color[3] = alpha;
|
86
90
|
if (this.sprite) {
|
87
|
-
var
|
88
|
-
|
89
|
-
|
91
|
+
var size = this.forceSpriteSize
|
92
|
+
? [this.size, this.size]
|
93
|
+
: [this.sprite.width, this.sprite.height];
|
90
94
|
Renderer.tint.apply(Renderer, color);
|
91
|
-
Renderer.image(this.sprite,
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
95
|
+
Renderer.image.apply(Renderer, __spreadArray(__spreadArray([this.sprite,
|
96
|
+
// position on canvas
|
97
|
+
0,
|
98
|
+
0], size, false), [
|
99
|
+
//crop on source image
|
100
|
+
0,
|
101
|
+
0,
|
102
|
+
this.sprite.width,
|
103
|
+
this.sprite.height], false));
|
96
104
|
}
|
97
105
|
else {
|
98
|
-
this.onDraw();
|
106
|
+
this.onDraw(color);
|
99
107
|
}
|
100
108
|
//
|
101
109
|
Renderer.pop();
|
102
110
|
};
|
103
|
-
Particle.prototype.onDraw = function () {
|
104
|
-
var color = __spreadArray([], this.color, true);
|
105
|
-
var alpha = Renderer.map(this.lifetimeRemain, 0, this.lifetime, 0, 255);
|
106
|
-
color[3] = alpha;
|
111
|
+
Particle.prototype.onDraw = function (color) {
|
107
112
|
Renderer.fill.apply(Renderer, color);
|
108
113
|
Renderer.circle(0, 0, this.size);
|
109
114
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"export-interfaces.d.ts","sourceRoot":"","sources":["../src/export-interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU
|
1
|
+
{"version":3,"file":"export-interfaces.d.ts","sourceRoot":"","sources":["../src/export-interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9B"}
|