react-simple-game-engine 0.2.5 → 0.2.8
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/scaler.js +2 -2
- package/lib/classes/scene.d.ts +1 -1
- package/lib/classes/scene.d.ts.map +1 -1
- package/lib/classes/scene.js +92 -60
- package/lib/classes/sound.d.ts +4 -1
- package/lib/classes/sound.d.ts.map +1 -1
- package/lib/classes/sound.js +39 -8
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +20 -10
- package/package.json +1 -1
package/lib/classes/scaler.js
CHANGED
@@ -92,10 +92,10 @@ var Scaler = /** @class */ (function () {
|
|
92
92
|
Scaler.prototype.update = function () {
|
93
93
|
if (this._layoutMode === LayoutMode.LANDSCAPE) {
|
94
94
|
if (this._canvasSize.width >= this._canvasSize.height) {
|
95
|
-
this._value = this._canvasSize.
|
95
|
+
this._value = this._canvasSize.width / this._gameSize.width;
|
96
96
|
}
|
97
97
|
else {
|
98
|
-
this._value = this._canvasSize.
|
98
|
+
this._value = this._canvasSize.height / this._gameSize.height;
|
99
99
|
}
|
100
100
|
}
|
101
101
|
else {
|
package/lib/classes/scene.d.ts
CHANGED
@@ -11,7 +11,7 @@ import { SoundType } from "../export-enums";
|
|
11
11
|
declare type SoundOptionsChangeListener<O extends SoundType> = (options: SoundManagement[O]) => void;
|
12
12
|
declare type LoadAssetsListener = (loadedAssets: boolean) => void;
|
13
13
|
declare type EntityPropsChangeListener<V = any> = (value: V) => void;
|
14
|
-
declare type ProcessStateChangeListener
|
14
|
+
declare type ProcessStateChangeListener = (isForeground: boolean) => void;
|
15
15
|
export declare abstract class Scene<UIP = any> {
|
16
16
|
private ui;
|
17
17
|
private worldManagement;
|
@@ -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;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EACL,MAAM,EACN,eAAe,EAEf,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"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"}
|
package/lib/classes/scene.js
CHANGED
@@ -39,7 +39,6 @@ import { copyProperties, createAssetImage, createAssetSound, parallel, tick, } f
|
|
39
39
|
import { Sound } from "./sound";
|
40
40
|
import { SoundType } from "../export-enums";
|
41
41
|
var MAX_ASSET_PARALLEL_LOAD = 4;
|
42
|
-
var MAX_SOUND_PARALLEL_LOAD = 2;
|
43
42
|
var Scene = /** @class */ (function () {
|
44
43
|
function Scene() {
|
45
44
|
this.nativeEventsUnsubscribes = function () { };
|
@@ -215,26 +214,33 @@ var Scene = /** @class */ (function () {
|
|
215
214
|
}); }, MAX_ASSET_PARALLEL_LOAD);
|
216
215
|
};
|
217
216
|
Scene.prototype.loadSounds = function () {
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
switch (_a.label) {
|
217
|
+
return __awaiter(this, void 0, void 0, function () {
|
218
|
+
var _i, _a, decor, sound;
|
219
|
+
return __generator(this, function (_b) {
|
220
|
+
switch (_b.label) {
|
223
221
|
case 0:
|
224
|
-
|
225
|
-
|
222
|
+
_i = 0, _a = this.soundsDecor;
|
223
|
+
_b.label = 1;
|
226
224
|
case 1:
|
227
|
-
|
225
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
226
|
+
decor = _a[_i];
|
227
|
+
if (!decor.src) return [3 /*break*/, 3];
|
228
|
+
return [4 /*yield*/, createAssetSound(decor.src, decor.type)];
|
229
|
+
case 2:
|
230
|
+
sound = _b.sent();
|
228
231
|
if (decor.volumn) {
|
229
232
|
sound.volumn = decor.volumn;
|
230
233
|
}
|
231
234
|
this[decor.propertyKey] = sound;
|
232
235
|
this.sounds.push(sound);
|
233
|
-
|
234
|
-
case
|
236
|
+
_b.label = 3;
|
237
|
+
case 3:
|
238
|
+
_i++;
|
239
|
+
return [3 /*break*/, 1];
|
240
|
+
case 4: return [2 /*return*/];
|
235
241
|
}
|
236
242
|
});
|
237
|
-
});
|
243
|
+
});
|
238
244
|
};
|
239
245
|
Scene.prototype.createSprites = function () {
|
240
246
|
var _this_1 = this;
|
@@ -258,30 +264,40 @@ var Scene = /** @class */ (function () {
|
|
258
264
|
}); }, MAX_ASSET_PARALLEL_LOAD);
|
259
265
|
};
|
260
266
|
Scene.prototype.createSounds = function () {
|
261
|
-
var _this_1 = this;
|
262
267
|
var srcables = [];
|
263
268
|
for (var _i = 0; _i < arguments.length; _i++) {
|
264
269
|
srcables[_i] = arguments[_i];
|
265
270
|
}
|
266
|
-
return
|
267
|
-
var _a, volumn, src,
|
268
|
-
return __generator(this, function (
|
269
|
-
switch (
|
271
|
+
return __awaiter(this, void 0, void 0, function () {
|
272
|
+
var sounds, _a, srcables_1, srcable, _b, volumn, src, _c, type, sound;
|
273
|
+
return __generator(this, function (_d) {
|
274
|
+
switch (_d.label) {
|
270
275
|
case 0:
|
271
|
-
|
276
|
+
sounds = [];
|
277
|
+
_a = 0, srcables_1 = srcables;
|
278
|
+
_d.label = 1;
|
279
|
+
case 1:
|
280
|
+
if (!(_a < srcables_1.length)) return [3 /*break*/, 4];
|
281
|
+
srcable = srcables_1[_a];
|
282
|
+
_b = typeof srcable === "string"
|
272
283
|
? { src: srcable, volumn: undefined, type: undefined }
|
273
|
-
: srcable, volumn =
|
284
|
+
: srcable, volumn = _b.volumn, src = _b.src, _c = _b.type, type = _c === void 0 ? SoundType.ONCE : _c;
|
274
285
|
return [4 /*yield*/, createAssetSound(src, type)];
|
275
|
-
case
|
276
|
-
sound =
|
286
|
+
case 2:
|
287
|
+
sound = _d.sent();
|
277
288
|
if (volumn) {
|
278
289
|
sound.volumn = volumn;
|
279
290
|
}
|
291
|
+
sounds.push(sound);
|
280
292
|
this.sounds.push(sound);
|
281
|
-
|
293
|
+
_d.label = 3;
|
294
|
+
case 3:
|
295
|
+
_a++;
|
296
|
+
return [3 /*break*/, 1];
|
297
|
+
case 4: return [2 /*return*/, sounds];
|
282
298
|
}
|
283
299
|
});
|
284
|
-
});
|
300
|
+
});
|
285
301
|
};
|
286
302
|
Scene.prototype.mapSprites = function () {
|
287
303
|
var srcs = [];
|
@@ -328,38 +344,31 @@ var Scene = /** @class */ (function () {
|
|
328
344
|
srcs[_i] = arguments[_i];
|
329
345
|
}
|
330
346
|
return __awaiter(this, void 0, void 0, function () {
|
331
|
-
var soundsDecor;
|
332
|
-
|
333
|
-
|
334
|
-
switch (_a.label) {
|
347
|
+
var soundsDecor, index, _a, soundsDecor_1, decor, src, sound;
|
348
|
+
return __generator(this, function (_b) {
|
349
|
+
switch (_b.label) {
|
335
350
|
case 0:
|
336
351
|
soundsDecor = this.soundsDecor.filter(function (decor) { return !decor.src; });
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
var decor, sound;
|
341
|
-
return __generator(this, function (_b) {
|
342
|
-
switch (_b.label) {
|
343
|
-
case 0:
|
344
|
-
decor = soundsDecor[realIndex];
|
345
|
-
if (!decor) return [3 /*break*/, 2];
|
346
|
-
return [4 /*yield*/, createAssetSound(src, decor.type)];
|
347
|
-
case 1:
|
348
|
-
sound = _b.sent();
|
349
|
-
if (decor.volumn) {
|
350
|
-
sound.volumn = decor.volumn;
|
351
|
-
}
|
352
|
-
this[decor.propertyKey] = sound;
|
353
|
-
this.sounds.push(sound);
|
354
|
-
_b.label = 2;
|
355
|
-
case 2: return [2 /*return*/];
|
356
|
-
}
|
357
|
-
});
|
358
|
-
});
|
359
|
-
}, MAX_ASSET_PARALLEL_LOAD)];
|
352
|
+
index = 0;
|
353
|
+
_a = 0, soundsDecor_1 = soundsDecor;
|
354
|
+
_b.label = 1;
|
360
355
|
case 1:
|
361
|
-
_a.
|
362
|
-
|
356
|
+
if (!(_a < soundsDecor_1.length)) return [3 /*break*/, 4];
|
357
|
+
decor = soundsDecor_1[_a];
|
358
|
+
src = srcs[index++];
|
359
|
+
return [4 /*yield*/, createAssetSound(src, decor.type)];
|
360
|
+
case 2:
|
361
|
+
sound = _b.sent();
|
362
|
+
if (decor.volumn) {
|
363
|
+
sound.volumn = decor.volumn;
|
364
|
+
}
|
365
|
+
this[decor.propertyKey] = sound;
|
366
|
+
this.sounds.push(sound);
|
367
|
+
_b.label = 3;
|
368
|
+
case 3:
|
369
|
+
_a++;
|
370
|
+
return [3 /*break*/, 1];
|
371
|
+
case 4: return [2 /*return*/];
|
363
372
|
}
|
364
373
|
});
|
365
374
|
});
|
@@ -378,15 +387,18 @@ var Scene = /** @class */ (function () {
|
|
378
387
|
// if delay less than 0, it will wait forever
|
379
388
|
_a.sent();
|
380
389
|
this.loadedAssets = false;
|
381
|
-
return [4 /*yield*/, Promise.all([
|
382
|
-
|
383
|
-
|
390
|
+
return [4 /*yield*/, Promise.all([
|
391
|
+
this.loadSounds().catch(function (err) {
|
392
|
+
console.warn("Load sounds fail", err.toString());
|
393
|
+
}),
|
394
|
+
this.loadSprites().catch(function (err) {
|
395
|
+
console.warn("Load sprites fail", err.toString());
|
396
|
+
}),
|
397
|
+
this.onLoadAssets().catch(function (err) {
|
398
|
+
console.warn("Load assets fail", err.toString());
|
399
|
+
}),
|
400
|
+
])];
|
384
401
|
case 2:
|
385
|
-
_a.sent();
|
386
|
-
return [4 /*yield*/, this.onLoadAssets().catch(function (err) {
|
387
|
-
console.warn("[2] Load assets fail", err.toString());
|
388
|
-
})];
|
389
|
-
case 3:
|
390
402
|
_a.sent();
|
391
403
|
this.loadedAssets = true;
|
392
404
|
return [2 /*return*/];
|
@@ -413,8 +425,28 @@ var Scene = /** @class */ (function () {
|
|
413
425
|
};
|
414
426
|
};
|
415
427
|
Scene.prototype.bootstrap = function (camera) {
|
428
|
+
var _this_1 = this;
|
416
429
|
this.listenNativeEvents();
|
417
430
|
this.bootSoundOptions();
|
431
|
+
this.onProcessStateChangeListener(function (isForeground) {
|
432
|
+
if (isForeground) {
|
433
|
+
for (var _i = 0, _a = _this_1.sounds; _i < _a.length; _i++) {
|
434
|
+
var sound = _a[_i];
|
435
|
+
// only resume background sounds
|
436
|
+
if (sound.type === SoundType.BACKGROUND &&
|
437
|
+
window.Renderer.isLooping) {
|
438
|
+
sound.resume();
|
439
|
+
}
|
440
|
+
}
|
441
|
+
}
|
442
|
+
else {
|
443
|
+
// pause all sounds
|
444
|
+
for (var _b = 0, _c = _this_1.sounds; _b < _c.length; _b++) {
|
445
|
+
var sound = _c[_b];
|
446
|
+
sound.pause();
|
447
|
+
}
|
448
|
+
}
|
449
|
+
});
|
418
450
|
this.worldManagement = new WorldManagement(camera, this);
|
419
451
|
var components = this.getComponents(camera);
|
420
452
|
var layerIndex = 0;
|
package/lib/classes/sound.d.ts
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
import { SoundType } from "../export-enums";
|
2
2
|
import { SoundManagement } from "../export-types";
|
3
3
|
export declare class Sound {
|
4
|
-
|
4
|
+
readonly type: SoundType;
|
5
5
|
static Management: SoundManagement;
|
6
6
|
readonly native: HTMLAudioElement;
|
7
7
|
constructor(type?: SoundType);
|
8
8
|
get volumn(): number;
|
9
9
|
set volumn(vol: number);
|
10
|
+
get isStopped(): boolean;
|
10
11
|
playNow(): Promise<void>;
|
12
|
+
pause(): Promise<void>;
|
13
|
+
resume(): Promise<void>;
|
11
14
|
stop(): Promise<void>;
|
12
15
|
play(): Promise<void>;
|
13
16
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sound.d.ts","sourceRoot":"","sources":["../../src/classes/sound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,qBAAa,KAAK;
|
1
|
+
{"version":3,"file":"sound.d.ts","sourceRoot":"","sources":["../../src/classes/sound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,qBAAa,KAAK;aAWY,IAAI,EAAE,SAAS;IAV3C,MAAM,CAAC,UAAU,EAAE,eAAe,CAOhC;IACF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAe;gBAEpB,IAAI,GAAE,SAA0B;IAE5D,IAAI,MAAM,IAIM,MAAM,CAFrB;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAErB;IAED,IAAI,SAAS,YAEZ;IAEK,OAAO;IAQP,KAAK;IAIL,MAAM;IAQN,IAAI;IAQJ,IAAI;CAYX"}
|
package/lib/classes/sound.js
CHANGED
@@ -53,6 +53,13 @@ var Sound = /** @class */ (function () {
|
|
53
53
|
enumerable: false,
|
54
54
|
configurable: true
|
55
55
|
});
|
56
|
+
Object.defineProperty(Sound.prototype, "isStopped", {
|
57
|
+
get: function () {
|
58
|
+
return this.native.paused && this.native.currentTime === 0;
|
59
|
+
},
|
60
|
+
enumerable: false,
|
61
|
+
configurable: true
|
62
|
+
});
|
56
63
|
Sound.prototype.playNow = function () {
|
57
64
|
return __awaiter(this, void 0, void 0, function () {
|
58
65
|
var canPlay;
|
@@ -71,17 +78,41 @@ var Sound = /** @class */ (function () {
|
|
71
78
|
});
|
72
79
|
});
|
73
80
|
};
|
81
|
+
Sound.prototype.pause = function () {
|
82
|
+
return __awaiter(this, void 0, void 0, function () {
|
83
|
+
return __generator(this, function (_a) {
|
84
|
+
switch (_a.label) {
|
85
|
+
case 0: return [4 /*yield*/, this.native.pause()];
|
86
|
+
case 1:
|
87
|
+
_a.sent();
|
88
|
+
return [2 /*return*/];
|
89
|
+
}
|
90
|
+
});
|
91
|
+
});
|
92
|
+
};
|
93
|
+
Sound.prototype.resume = function () {
|
94
|
+
return __awaiter(this, void 0, void 0, function () {
|
95
|
+
return __generator(this, function (_a) {
|
96
|
+
switch (_a.label) {
|
97
|
+
case 0:
|
98
|
+
if (!!this.isStopped) return [3 /*break*/, 2];
|
99
|
+
if (!this.native.paused) return [3 /*break*/, 2];
|
100
|
+
return [4 /*yield*/, this.play()];
|
101
|
+
case 1:
|
102
|
+
_a.sent();
|
103
|
+
_a.label = 2;
|
104
|
+
case 2: return [2 /*return*/];
|
105
|
+
}
|
106
|
+
});
|
107
|
+
});
|
108
|
+
};
|
74
109
|
Sound.prototype.stop = function () {
|
75
110
|
return __awaiter(this, void 0, void 0, function () {
|
76
|
-
var isStoped;
|
77
111
|
return __generator(this, function (_a) {
|
78
|
-
if (this.
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
this.native.currentTime = 0;
|
83
|
-
this.native.loop = false;
|
84
|
-
}
|
112
|
+
if (!this.isStopped) {
|
113
|
+
this.native.pause();
|
114
|
+
this.native.currentTime = 0;
|
115
|
+
this.native.loop = false;
|
85
116
|
}
|
86
117
|
return [2 /*return*/];
|
87
118
|
});
|
package/lib/utils.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAiBxC,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,CAAC,
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAiBxC,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,CAAC,CAoDhB;AAED,wBAAsB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,oBAQxC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAO5B;AAED,wBAAsB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EACtE,KAAK,SAAI,GACR,OAAO,CAAC,CAAC,EAAE,CAAC,CAkBd;AAED,wBAAgB,aAAa;;;EAiB5B"}
|
package/lib/utils.js
CHANGED
@@ -65,19 +65,28 @@ export function createAssetSound(src, type) {
|
|
65
65
|
media = new Sound(type);
|
66
66
|
return [2 /*return*/, new Promise(function (res, rej) {
|
67
67
|
media.native.onloadedmetadata = function () {
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
68
|
+
if (media.native.duration != null) {
|
69
|
+
res(media);
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
var timer_1 = setInterval(function () {
|
73
|
+
if (media.native.duration != null) {
|
74
|
+
res(media);
|
75
|
+
clearInterval(timer_1);
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
console.warn(src, "Wait for duration");
|
79
|
+
}
|
80
|
+
}, 10);
|
81
|
+
}
|
77
82
|
};
|
78
83
|
media.native.onerror = function (e) {
|
79
84
|
if (e instanceof Event) {
|
80
85
|
var targetError = e.currentTarget.error;
|
86
|
+
var expectedSrc = src;
|
87
|
+
var realSrc = e.currentTarget.src;
|
88
|
+
console.warn("[Audio Error] Expected src: " + expectedSrc);
|
89
|
+
console.warn("[Audio Error] Real src: " + realSrc);
|
81
90
|
switch (targetError.code) {
|
82
91
|
case targetError.MEDIA_ERR_ABORTED:
|
83
92
|
console.warn("You aborted the video playback.");
|
@@ -98,7 +107,8 @@ export function createAssetSound(src, type) {
|
|
98
107
|
}
|
99
108
|
rej(e);
|
100
109
|
};
|
101
|
-
media.native.preload
|
110
|
+
media.native.setAttribute("preload", "metadata");
|
111
|
+
media.native.setAttribute("type", "audio/wav");
|
102
112
|
media.native.src = src;
|
103
113
|
})];
|
104
114
|
});
|