react-simple-game-engine 0.3.5 → 0.3.7
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.
@@ -8,7 +8,8 @@ import { Sensor } from "../sensor";
|
|
8
8
|
declare type TimerJobListener = () => void;
|
9
9
|
declare type TerminateOptions = {
|
10
10
|
duration?: number;
|
11
|
-
effect
|
11
|
+
effect?: EntitySuit | LogicComponent<EntitySuit>;
|
12
|
+
keepVisible?: boolean;
|
12
13
|
};
|
13
14
|
declare type TimerOptions = {
|
14
15
|
defaultRun?: boolean;
|
@@ -36,6 +37,7 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
|
|
36
37
|
private _props;
|
37
38
|
private timerJobListeners;
|
38
39
|
private isTerminate;
|
40
|
+
private keepVisible;
|
39
41
|
debugSensor: boolean;
|
40
42
|
readonly sensors: Sensor[];
|
41
43
|
enabledGravity: boolean;
|
@@ -61,7 +63,7 @@ export declare abstract class Entity<P extends Record<string, any> = Record<stri
|
|
61
63
|
*/
|
62
64
|
terminate(options?: TerminateOptions): void;
|
63
65
|
/**
|
64
|
-
* @param {number} interval in
|
66
|
+
* @param {number} interval in milliseconds
|
65
67
|
* @param {TimerJobListener} job function that run per #interval
|
66
68
|
* @param {TimerOptions} options
|
67
69
|
* @void
|
@@ -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,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,EAEN,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;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,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;
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"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"}
|
@@ -47,6 +47,7 @@ var Entity = /** @class */ (function (_super) {
|
|
47
47
|
_this._props = {};
|
48
48
|
_this.timerJobListeners = [];
|
49
49
|
_this.isTerminate = false;
|
50
|
+
_this.keepVisible = false;
|
50
51
|
_this.debugSensor = false;
|
51
52
|
_this.sensors = [];
|
52
53
|
_this.enabledGravity = true;
|
@@ -102,15 +103,18 @@ var Entity = /** @class */ (function (_super) {
|
|
102
103
|
var _this = this;
|
103
104
|
var _a;
|
104
105
|
if (options) {
|
105
|
-
var _b = options.duration, duration = _b === void 0 ? 0.2 : _b, effect = options.effect;
|
106
|
+
var _b = options.duration, duration = _b === void 0 ? 0.2 : _b, effect = options.effect, _c = options.keepVisible, keepVisible = _c === void 0 ? false : _c;
|
106
107
|
this.isTerminate = true;
|
108
|
+
this.keepVisible = keepVisible;
|
107
109
|
if (this.havePhysicBody) {
|
108
110
|
Body.setVelocity(this.body, {
|
109
111
|
y: 0,
|
110
112
|
x: 0,
|
111
113
|
});
|
112
114
|
}
|
113
|
-
|
115
|
+
if (effect) {
|
116
|
+
this.addChild(effect);
|
117
|
+
}
|
114
118
|
setTimeout(function () {
|
115
119
|
var _a;
|
116
120
|
_this.worldManagement.removeEntity(_this);
|
@@ -123,7 +127,7 @@ var Entity = /** @class */ (function (_super) {
|
|
123
127
|
}
|
124
128
|
};
|
125
129
|
/**
|
126
|
-
* @param {number} interval in
|
130
|
+
* @param {number} interval in milliseconds
|
127
131
|
* @param {TimerJobListener} job function that run per #interval
|
128
132
|
* @param {TimerOptions} options
|
129
133
|
* @void
|
@@ -231,7 +235,7 @@ var Entity = /** @class */ (function (_super) {
|
|
231
235
|
for (var _i = 0, _a = this.timerJobListeners; _i < _a.length; _i++) {
|
232
236
|
var jobListener = _a[_i];
|
233
237
|
var timeCounter = jobListener.timeCounter, interval = jobListener.interval, job = jobListener.job, defaultRun = jobListener.defaultRun;
|
234
|
-
if (defaultRun || timeCounter
|
238
|
+
if (defaultRun || timeCounter >= interval) {
|
235
239
|
timeCounter = 0;
|
236
240
|
job();
|
237
241
|
jobListener.defaultRun = false;
|
@@ -250,6 +254,12 @@ var Entity = /** @class */ (function (_super) {
|
|
250
254
|
this.sprite.draw();
|
251
255
|
this.onDraw();
|
252
256
|
}
|
257
|
+
else {
|
258
|
+
if (this.keepVisible) {
|
259
|
+
this.sprite.draw();
|
260
|
+
this.onDraw();
|
261
|
+
}
|
262
|
+
}
|
253
263
|
};
|
254
264
|
/**
|
255
265
|
* invoke in every frame, this is necessary for draw that need to run in every frame
|