react-simple-game-engine 0.1.98 → 0.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"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"}
@@ -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,63 +204,45 @@ var Scene = /** @class */ (function () {
194
204
  this.manager.gotoScene(tag);
195
205
  };
196
206
  Scene.prototype.loadSprites = function () {
197
- return __awaiter(this, void 0, void 0, function () {
198
- var _this_1 = this;
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: return [4 /*yield*/, Promise.all(this.spritesDecor.map(function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
202
- var sprite;
203
- return __generator(this, function (_a) {
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
- }); }))];
212
+ case 0:
213
+ if (!decor.src) return [3 /*break*/, 2];
214
+ return [4 /*yield*/, createAssetImage(decor.src)];
217
215
  case 1:
218
- _a.sent();
219
- return [2 /*return*/];
216
+ sprite = _a.sent();
217
+ this[decor.propertyKey] = sprite;
218
+ this.sprites.push(sprite);
219
+ _a.label = 2;
220
+ case 2: return [2 /*return*/];
220
221
  }
221
222
  });
222
- });
223
+ }); });
223
224
  };
224
225
  Scene.prototype.loadSounds = function () {
225
- return __awaiter(this, void 0, void 0, function () {
226
- var _this_1 = this;
226
+ var _this_1 = this;
227
+ return this.soundsDecor.map(function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
228
+ var sound;
227
229
  return __generator(this, function (_a) {
228
230
  switch (_a.label) {
229
- case 0: return [4 /*yield*/, Promise.all(this.soundsDecor.map(function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
230
- var sound;
231
- return __generator(this, function (_a) {
232
- switch (_a.label) {
233
- case 0:
234
- if (!decor.src) return [3 /*break*/, 2];
235
- return [4 /*yield*/, createAssetSound(decor.src, decor.type)];
236
- case 1:
237
- sound = _a.sent();
238
- if (decor.volumn) {
239
- sound.volumn = decor.volumn;
240
- }
241
- this[decor.propertyKey] = sound;
242
- this.sounds.push(sound);
243
- _a.label = 2;
244
- case 2: return [2 /*return*/];
245
- }
246
- });
247
- }); }))];
231
+ case 0:
232
+ if (!decor.src) return [3 /*break*/, 2];
233
+ return [4 /*yield*/, createAssetSound(decor.src, decor.type)];
248
234
  case 1:
249
- _a.sent();
250
- return [2 /*return*/];
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*/];
251
243
  }
252
244
  });
253
- });
245
+ }); });
254
246
  };
255
247
  Scene.prototype.createSprites = function () {
256
248
  var srcables = [];
@@ -273,7 +265,7 @@ var Scene = /** @class */ (function () {
273
265
  return [2 /*return*/, sprite];
274
266
  }
275
267
  });
276
- }); }, 5)];
268
+ }); }, MAX_ASSET_PARALLEL_LOAD)];
277
269
  });
278
270
  });
279
271
  };
@@ -303,7 +295,7 @@ var Scene = /** @class */ (function () {
303
295
  return [2 /*return*/, sound];
304
296
  }
305
297
  });
306
- }); }, 5)];
298
+ }); }, MAX_ASSET_PARALLEL_LOAD)];
307
299
  });
308
300
  });
309
301
  };
@@ -338,7 +330,7 @@ var Scene = /** @class */ (function () {
338
330
  }
339
331
  });
340
332
  });
341
- }, 5)];
333
+ }, MAX_ASSET_PARALLEL_LOAD)];
342
334
  case 1:
343
335
  _a.sent();
344
336
  return [2 /*return*/];
@@ -380,7 +372,7 @@ var Scene = /** @class */ (function () {
380
372
  }
381
373
  });
382
374
  });
383
- }, 5)];
375
+ }, MAX_ASSET_PARALLEL_LOAD)];
384
376
  case 1:
385
377
  _a.sent();
386
378
  return [2 /*return*/];
@@ -402,14 +394,15 @@ var Scene = /** @class */ (function () {
402
394
  // if delay less than 0, it will wait forever
403
395
  _a.sent();
404
396
  this.loadedAssets = false;
405
- return [4 /*yield*/, Promise.all([
406
- this.loadSounds(),
407
- this.loadSprites(),
408
- this.onLoadAssets(),
409
- ]).catch(function (err) {
410
- console.warn("Load assets fail", err.toString());
397
+ return [4 /*yield*/, parallel(__spreadArray(__spreadArray([], this.loadSounds(), true), this.loadSprites(), true), function (func) { return func; }, 5).catch(function (err) {
398
+ console.warn("[1] Load assets fail", err.toString());
411
399
  })];
412
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:
413
406
  _a.sent();
414
407
  this.loadedAssets = true;
415
408
  return [2 /*return*/];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.1.98",
3
+ "version": "0.2.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",