react-simple-game-engine 0.1.99 → 0.2.1
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/scene.d.ts.map +1 -1
- package/lib/classes/scene.js +48 -59
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +22 -2
- package/package.json +1 -1
@@ -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
@@ -34,10 +34,20 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
35
35
|
}
|
36
36
|
};
|
37
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
38
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
39
|
+
if (ar || !(i in from)) {
|
40
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
41
|
+
ar[i] = from[i];
|
42
|
+
}
|
43
|
+
}
|
44
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
45
|
+
};
|
37
46
|
import { WorldManagement } from "./world-management";
|
38
47
|
import { copyProperties, createAssetImage, createAssetSound, parallel, tick, } from "../utils";
|
39
48
|
import { Sound } from "./sound";
|
40
49
|
import { SoundType } from "../export-enums";
|
50
|
+
var MAX_ASSET_PARALLEL_LOAD = 4;
|
41
51
|
var Scene = /** @class */ (function () {
|
42
52
|
function Scene() {
|
43
53
|
this.nativeEventsUnsubscribes = function () { };
|
@@ -194,67 +204,45 @@ var Scene = /** @class */ (function () {
|
|
194
204
|
this.manager.gotoScene(tag);
|
195
205
|
};
|
196
206
|
Scene.prototype.loadSprites = function () {
|
197
|
-
|
198
|
-
|
207
|
+
var _this_1 = this;
|
208
|
+
return this.spritesDecor.map(function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
|
209
|
+
var sprite;
|
199
210
|
return __generator(this, function (_a) {
|
200
211
|
switch (_a.label) {
|
201
|
-
case 0:
|
202
|
-
|
203
|
-
|
204
|
-
switch (_a.label) {
|
205
|
-
case 0:
|
206
|
-
if (!decor.src) return [3 /*break*/, 2];
|
207
|
-
return [4 /*yield*/, createAssetImage(decor.src)];
|
208
|
-
case 1:
|
209
|
-
sprite = _a.sent();
|
210
|
-
this[decor.propertyKey] = sprite;
|
211
|
-
this.sprites.push(sprite);
|
212
|
-
_a.label = 2;
|
213
|
-
case 2: return [2 /*return*/];
|
214
|
-
}
|
215
|
-
});
|
216
|
-
}); }, 5).catch(function (err) {
|
217
|
-
console.warn("Load sprites fail", err.toString());
|
218
|
-
})];
|
212
|
+
case 0:
|
213
|
+
if (!decor.src) return [3 /*break*/, 2];
|
214
|
+
return [4 /*yield*/, createAssetImage(decor.src)];
|
219
215
|
case 1:
|
220
|
-
_a.sent();
|
221
|
-
|
216
|
+
sprite = _a.sent();
|
217
|
+
this[decor.propertyKey] = sprite;
|
218
|
+
this.sprites.push(sprite);
|
219
|
+
_a.label = 2;
|
220
|
+
case 2: return [2 /*return*/];
|
222
221
|
}
|
223
222
|
});
|
224
|
-
});
|
223
|
+
}); });
|
225
224
|
};
|
226
225
|
Scene.prototype.loadSounds = function () {
|
227
|
-
|
228
|
-
|
226
|
+
var _this_1 = this;
|
227
|
+
return this.soundsDecor.map(function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
|
228
|
+
var sound;
|
229
229
|
return __generator(this, function (_a) {
|
230
230
|
switch (_a.label) {
|
231
|
-
case 0:
|
232
|
-
|
233
|
-
|
234
|
-
switch (_a.label) {
|
235
|
-
case 0:
|
236
|
-
if (!decor.src) return [3 /*break*/, 2];
|
237
|
-
return [4 /*yield*/, createAssetSound(decor.src, decor.type)];
|
238
|
-
case 1:
|
239
|
-
sound = _a.sent();
|
240
|
-
if (decor.volumn) {
|
241
|
-
sound.volumn = decor.volumn;
|
242
|
-
}
|
243
|
-
this[decor.propertyKey] = sound;
|
244
|
-
this.sounds.push(sound);
|
245
|
-
_a.label = 2;
|
246
|
-
case 2: return [2 /*return*/];
|
247
|
-
}
|
248
|
-
});
|
249
|
-
}); }, 5).catch(function (err) {
|
250
|
-
console.warn("Load sounds fail", err.toString());
|
251
|
-
})];
|
231
|
+
case 0:
|
232
|
+
if (!decor.src) return [3 /*break*/, 2];
|
233
|
+
return [4 /*yield*/, createAssetSound(decor.src, decor.type)];
|
252
234
|
case 1:
|
253
|
-
_a.sent();
|
254
|
-
|
235
|
+
sound = _a.sent();
|
236
|
+
if (decor.volumn) {
|
237
|
+
sound.volumn = decor.volumn;
|
238
|
+
}
|
239
|
+
this[decor.propertyKey] = sound;
|
240
|
+
this.sounds.push(sound);
|
241
|
+
_a.label = 2;
|
242
|
+
case 2: return [2 /*return*/];
|
255
243
|
}
|
256
244
|
});
|
257
|
-
});
|
245
|
+
}); });
|
258
246
|
};
|
259
247
|
Scene.prototype.createSprites = function () {
|
260
248
|
var srcables = [];
|
@@ -277,7 +265,7 @@ var Scene = /** @class */ (function () {
|
|
277
265
|
return [2 /*return*/, sprite];
|
278
266
|
}
|
279
267
|
});
|
280
|
-
}); },
|
268
|
+
}); }, MAX_ASSET_PARALLEL_LOAD)];
|
281
269
|
});
|
282
270
|
});
|
283
271
|
};
|
@@ -307,7 +295,7 @@ var Scene = /** @class */ (function () {
|
|
307
295
|
return [2 /*return*/, sound];
|
308
296
|
}
|
309
297
|
});
|
310
|
-
}); },
|
298
|
+
}); }, MAX_ASSET_PARALLEL_LOAD)];
|
311
299
|
});
|
312
300
|
});
|
313
301
|
};
|
@@ -342,7 +330,7 @@ var Scene = /** @class */ (function () {
|
|
342
330
|
}
|
343
331
|
});
|
344
332
|
});
|
345
|
-
},
|
333
|
+
}, MAX_ASSET_PARALLEL_LOAD)];
|
346
334
|
case 1:
|
347
335
|
_a.sent();
|
348
336
|
return [2 /*return*/];
|
@@ -384,7 +372,7 @@ var Scene = /** @class */ (function () {
|
|
384
372
|
}
|
385
373
|
});
|
386
374
|
});
|
387
|
-
},
|
375
|
+
}, MAX_ASSET_PARALLEL_LOAD)];
|
388
376
|
case 1:
|
389
377
|
_a.sent();
|
390
378
|
return [2 /*return*/];
|
@@ -406,14 +394,15 @@ var Scene = /** @class */ (function () {
|
|
406
394
|
// if delay less than 0, it will wait forever
|
407
395
|
_a.sent();
|
408
396
|
this.loadedAssets = false;
|
409
|
-
return [4 /*yield*/,
|
410
|
-
|
411
|
-
this.loadSprites(),
|
412
|
-
this.onLoadAssets(),
|
413
|
-
]).catch(function (err) {
|
414
|
-
console.warn("Load assets fail", err.toString());
|
397
|
+
return [4 /*yield*/, parallel(__spreadArray(__spreadArray([], this.loadSounds(), true), this.loadSprites(), true), function (func) { return func; }, MAX_ASSET_PARALLEL_LOAD).catch(function (err) {
|
398
|
+
console.warn("[1] Load assets fail", err.toString());
|
415
399
|
})];
|
416
400
|
case 2:
|
401
|
+
_a.sent();
|
402
|
+
return [4 /*yield*/, this.onLoadAssets().catch(function (err) {
|
403
|
+
console.warn("[2] Load assets fail", err.toString());
|
404
|
+
})];
|
405
|
+
case 3:
|
417
406
|
_a.sent();
|
418
407
|
this.loadedAssets = true;
|
419
408
|
return [2 /*return*/];
|
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,CAmChB;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
@@ -67,8 +67,28 @@ export function createAssetSound(src, type) {
|
|
67
67
|
media.native.onloadedmetadata = function () {
|
68
68
|
res(media);
|
69
69
|
};
|
70
|
-
media.native.onerror = function (
|
71
|
-
|
70
|
+
media.native.onerror = function (e) {
|
71
|
+
if (e instanceof Event) {
|
72
|
+
var targetError = e.currentTarget.error;
|
73
|
+
switch (targetError.code) {
|
74
|
+
case targetError.MEDIA_ERR_ABORTED:
|
75
|
+
console.warn("You aborted the video playback.");
|
76
|
+
break;
|
77
|
+
case targetError.MEDIA_ERR_NETWORK:
|
78
|
+
console.warn("A network error caused the audio download to fail.");
|
79
|
+
break;
|
80
|
+
case targetError.MEDIA_ERR_DECODE:
|
81
|
+
console.warn("The audio playback was aborted due to a corruption problem or because the video used features your browser did not support.");
|
82
|
+
break;
|
83
|
+
case targetError.MEDIA_ERR_SRC_NOT_SUPPORTED:
|
84
|
+
console.warn("The video audio not be loaded, either because the server or network failed or because the format is not supported.");
|
85
|
+
break;
|
86
|
+
default:
|
87
|
+
console.warn("An unknown error occurred.");
|
88
|
+
break;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
rej(e);
|
72
92
|
};
|
73
93
|
media.native.src = src;
|
74
94
|
})];
|