react-simple-game-engine 0.1.11 → 0.1.14
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 +10 -0
- package/lib/classes/entities/entity.d.ts.map +1 -1
- package/lib/classes/entities/entity.js +28 -0
- package/lib/classes/p5.d.ts +1 -0
- package/lib/classes/p5.d.ts.map +1 -1
- package/lib/classes/p5.js +1 -0
- package/lib/classes/scene.d.ts.map +1 -1
- package/lib/classes/scene.js +4 -2
- package/package.json +1 -1
|
@@ -3,11 +3,13 @@ import { Sprite } from "../sprites/sprite";
|
|
|
3
3
|
import { CreateBodyDefine, EntityInitial, EntityPrepare, MasterBody, Sound } from "../../export-types";
|
|
4
4
|
import { EntitySult } from "./entity-sult";
|
|
5
5
|
import { LogicComponent } from "../logic-component";
|
|
6
|
+
declare type TimerJobListener = () => void;
|
|
6
7
|
export declare abstract class Entity<P extends Record<string, any> = Record<string, any>> extends EntitySult<EntityInitial<Entity>> {
|
|
7
8
|
private _body;
|
|
8
9
|
private _sprite;
|
|
9
10
|
private _children;
|
|
10
11
|
private _props;
|
|
12
|
+
private timerJobListeners;
|
|
11
13
|
enabledGravity: boolean;
|
|
12
14
|
sound?: Sound;
|
|
13
15
|
set sprite(sprite: Sprite<any>);
|
|
@@ -16,6 +18,13 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
|
|
|
16
18
|
get body(): MasterBody;
|
|
17
19
|
get children(): EntitySult<any>[];
|
|
18
20
|
get props(): P;
|
|
21
|
+
/**
|
|
22
|
+
* @param {string} name
|
|
23
|
+
* @param {number} interval in seconds unit
|
|
24
|
+
* @param {TimerJobListener} job function that run per @interval
|
|
25
|
+
* @returns {void}
|
|
26
|
+
*/
|
|
27
|
+
onTimer(name: string, interval: number, job: TimerJobListener): void;
|
|
19
28
|
addChild(target: EntitySult | LogicComponent<EntitySult>): void;
|
|
20
29
|
removeChild(entity: EntitySult): void;
|
|
21
30
|
createBody(transform: CreateBodyDefine["transform"], options?: CreateBodyDefine["bodyOptions"]): MasterBody;
|
|
@@ -34,4 +43,5 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
|
|
|
34
43
|
onCollisionEnd(target: Entity): void;
|
|
35
44
|
onCollisionActive(target: Entity): void;
|
|
36
45
|
}
|
|
46
|
+
export {};
|
|
37
47
|
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -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;AAGpD,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,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,MAAM,CAAkB;
|
|
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;AAGpD,aAAK,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAEnC,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,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAOlB;IAEA,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,IAAI,KAAK,MAER;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB;IAY7D,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,WAAW,EACX,KAAU,EACV,GAAG,MAAM,EACV,EAAE,aAAa,CAAC,IAAI,CAAC;IAiDtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IACnD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAaN,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"}
|
|
@@ -44,6 +44,7 @@ var Entity = /** @class */ (function (_super) {
|
|
|
44
44
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
45
45
|
_this._children = [];
|
|
46
46
|
_this._props = {};
|
|
47
|
+
_this.timerJobListeners = {};
|
|
47
48
|
_this.enabledGravity = true;
|
|
48
49
|
return _this;
|
|
49
50
|
}
|
|
@@ -86,6 +87,24 @@ var Entity = /** @class */ (function (_super) {
|
|
|
86
87
|
enumerable: false,
|
|
87
88
|
configurable: true
|
|
88
89
|
});
|
|
90
|
+
/**
|
|
91
|
+
* @param {string} name
|
|
92
|
+
* @param {number} interval in seconds unit
|
|
93
|
+
* @param {TimerJobListener} job function that run per @interval
|
|
94
|
+
* @returns {void}
|
|
95
|
+
*/
|
|
96
|
+
Entity.prototype.onTimer = function (name, interval, job) {
|
|
97
|
+
if (!this.timerJobListeners[name]) {
|
|
98
|
+
this.timerJobListeners[name] = {
|
|
99
|
+
timeCounter: 0,
|
|
100
|
+
interval: interval,
|
|
101
|
+
job: job,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.warn("Job with name ".concat(name, " is already assigned"));
|
|
106
|
+
}
|
|
107
|
+
};
|
|
89
108
|
Entity.prototype.addChild = function (target) {
|
|
90
109
|
var entity = target instanceof EntitySult
|
|
91
110
|
? target
|
|
@@ -125,6 +144,15 @@ var Entity = /** @class */ (function (_super) {
|
|
|
125
144
|
};
|
|
126
145
|
Entity.prototype.update = function () {
|
|
127
146
|
this.onUpdate();
|
|
147
|
+
for (var name_1 in this.timerJobListeners) {
|
|
148
|
+
var _a = this.timerJobListeners[name_1], timeCounter = _a.timeCounter, interval = _a.interval, job = _a.job;
|
|
149
|
+
if (timeCounter / 1000 >= interval) {
|
|
150
|
+
timeCounter = 0;
|
|
151
|
+
job();
|
|
152
|
+
}
|
|
153
|
+
timeCounter += Renderer.deltaTime;
|
|
154
|
+
this.timerJobListeners[name_1].timeCounter = timeCounter;
|
|
155
|
+
}
|
|
128
156
|
};
|
|
129
157
|
Entity.prototype.onUpdate = function () { };
|
|
130
158
|
Entity.prototype.draw = function () {
|
package/lib/classes/p5.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ declare type ItemWithPercent<I> = [I, number];
|
|
|
3
3
|
declare type LastItem<I> = [I];
|
|
4
4
|
export declare type Collection<I> = [...ItemWithPercent<I>[], LastItem<I>];
|
|
5
5
|
export declare class P5 extends p5 {
|
|
6
|
+
running: boolean;
|
|
6
7
|
constructor(sketch: (p5: P5) => void);
|
|
7
8
|
choose<I = any>(collection: Collection<I>): I;
|
|
8
9
|
}
|
package/lib/classes/p5.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p5.d.ts","sourceRoot":"","sources":["../../src/classes/p5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvB,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,qBAAa,EAAG,SAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"p5.d.ts","sourceRoot":"","sources":["../../src/classes/p5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvB,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,qBAAa,EAAG,SAAQ,EAAE;IACxB,OAAO,UAAQ;gBAEH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI;IAKpC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA+B9C"}
|
package/lib/classes/p5.js
CHANGED
|
@@ -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;AAC1D,aAAK,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAE7D,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;IAChD,OAAO,CAAC,0BAA0B,CAG3B;IAEA,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,6BAA6B,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAO7D,2BAA2B,CAAC,CAAC,GAAG,GAAG,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAepC,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;
|
|
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;AAC1D,aAAK,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAE7D,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;IAChD,OAAO,CAAC,0BAA0B,CAG3B;IAEA,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,6BAA6B,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAO7D,2BAA2B,CAAC,CAAC,GAAG,GAAG,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAepC,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;CAUP"}
|
package/lib/classes/scene.js
CHANGED
|
@@ -148,8 +148,10 @@ var Scene = /** @class */ (function () {
|
|
|
148
148
|
Scene.prototype.onDraw = function () { };
|
|
149
149
|
Scene.prototype.onUpdate = function () { };
|
|
150
150
|
Scene.prototype.action = function () {
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
if (Renderer.running) {
|
|
152
|
+
this.onUpdate();
|
|
153
|
+
this.worldManagement.update();
|
|
154
|
+
}
|
|
153
155
|
Renderer.background(41, 41, 41);
|
|
154
156
|
this.onDraw();
|
|
155
157
|
this.worldManagement.draw();
|