react-simple-game-engine 0.1.63 → 0.1.66

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.
Files changed (73) hide show
  1. package/lib/classes/animations/animation.d.ts.map +1 -0
  2. package/lib/classes/animations/animation.js +35 -0
  3. package/lib/classes/animations/avatar.animation.d.ts.map +1 -0
  4. package/lib/classes/animations/avatar.animation.js +45 -0
  5. package/lib/classes/animations/color.animation.d.ts.map +1 -0
  6. package/lib/classes/animations/color.animation.js +33 -0
  7. package/lib/classes/camera.d.ts.map +1 -0
  8. package/lib/classes/camera.js +34 -0
  9. package/lib/classes/entities/circle.entity.d.ts.map +1 -0
  10. package/lib/classes/entities/circle.entity.js +55 -0
  11. package/lib/classes/entities/entity-sult.d.ts.map +1 -0
  12. package/lib/classes/entities/entity-sult.js +108 -0
  13. package/lib/classes/entities/entity.d.ts.map +1 -0
  14. package/lib/classes/entities/entity.js +180 -0
  15. package/lib/classes/entities/rect.entity.d.ts.map +1 -0
  16. package/lib/classes/entities/rect.entity.js +56 -0
  17. package/lib/classes/logic-component.d.ts.map +1 -0
  18. package/lib/classes/logic-component.js +77 -0
  19. package/lib/classes/p5.d.ts.map +1 -0
  20. package/lib/classes/p5.js +58 -0
  21. package/lib/classes/particle-system.d.ts.map +1 -0
  22. package/lib/classes/particle-system.js +98 -0
  23. package/lib/classes/particle.d.ts.map +1 -0
  24. package/lib/classes/particle.js +117 -0
  25. package/lib/classes/prefab.d.ts.map +1 -0
  26. package/lib/classes/prefab.js +24 -0
  27. package/lib/classes/saver.d.ts.map +1 -0
  28. package/lib/classes/saver.js +33 -0
  29. package/lib/classes/scene-management.d.ts.map +1 -0
  30. package/lib/classes/scene-management.js +58 -0
  31. package/lib/classes/scene.d.ts +2 -2
  32. package/lib/classes/scene.d.ts.map +1 -0
  33. package/lib/classes/scene.js +433 -0
  34. package/lib/classes/sound-watcher.d.ts.map +1 -0
  35. package/lib/classes/sound-watcher.js +33 -0
  36. package/lib/classes/sound.d.ts.map +1 -0
  37. package/lib/classes/sound.js +119 -0
  38. package/lib/classes/sprites/avatar.sprite.d.ts.map +1 -0
  39. package/lib/classes/sprites/avatar.sprite.js +89 -0
  40. package/lib/classes/sprites/color.sprite.d.ts.map +1 -0
  41. package/lib/classes/sprites/color.sprite.js +40 -0
  42. package/lib/classes/sprites/sprite.d.ts.map +1 -0
  43. package/lib/classes/sprites/sprite.js +70 -0
  44. package/lib/classes/watcher.d.ts.map +1 -0
  45. package/lib/classes/watcher.js +44 -0
  46. package/lib/classes/world-management.d.ts.map +1 -0
  47. package/lib/classes/world-management.js +160 -0
  48. package/lib/decorators/scene-tag.decor.d.ts.map +1 -0
  49. package/lib/decorators/scene-tag.decor.js +5 -0
  50. package/lib/decorators/scene-ui.decor.d.ts.map +1 -0
  51. package/lib/decorators/scene-ui.decor.js +5 -0
  52. package/lib/decorators/sound-from.decor.d.ts.map +1 -0
  53. package/lib/decorators/sound-from.decor.js +20 -0
  54. package/lib/decorators/sprite-from.decor.d.ts.map +1 -0
  55. package/lib/decorators/sprite-from.decor.js +13 -0
  56. package/lib/export-enums.d.ts.map +1 -0
  57. package/lib/export-enums.js +5 -0
  58. package/lib/export-interfaces.d.ts.map +1 -0
  59. package/lib/export-interfaces.js +1 -0
  60. package/lib/export-types.d.ts.map +1 -0
  61. package/lib/export-types.js +1 -0
  62. package/lib/index.d.ts.map +1 -0
  63. package/lib/ui-components/SceneRunner.d.ts.map +1 -0
  64. package/lib/ui-components/SceneRunner.js +43 -0
  65. package/lib/ui-components/ScenesProcess.d.ts.map +1 -0
  66. package/lib/ui-components/ScenesProcess.js +46 -0
  67. package/lib/ui-components/Sketch.d.ts.map +1 -0
  68. package/lib/ui-components/Sketch.js +33 -0
  69. package/lib/utilities.d.ts.map +1 -0
  70. package/lib/utilities.js +2 -0
  71. package/lib/utils.d.ts.map +1 -0
  72. package/lib/utils.js +97 -0
  73. package/package.json +5 -9
@@ -0,0 +1,433 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { WorldManagement } from "./world-management";
38
+ import { copyProperties, createAssetImage, createAssetSound, tick, } from "../utils";
39
+ import { Sound } from "./sound";
40
+ import { SoundType } from "../export-enums";
41
+ var Scene = /** @class */ (function () {
42
+ function Scene() {
43
+ this.entityPropsChangeListeners = {};
44
+ this.soundBackgroundOptionsChangeListeners = [];
45
+ this.soundOnceOptionsChangeListeners = [];
46
+ this.prefabs = [];
47
+ this.sounds = [];
48
+ this.sprites = [];
49
+ this.assetsDelay = 0;
50
+ this.sessionId = "".concat(Math.random(), "-").concat(new Date().getTime());
51
+ this.tag = this.constructor.tag;
52
+ this.ui = this.constructor.ui;
53
+ this._loadedAssets = false;
54
+ this.onBorn();
55
+ this.soundsDecor = this.__proto__.soundsDecor;
56
+ }
57
+ Object.defineProperty(Scene.prototype, "UI", {
58
+ get: function () {
59
+ var Ui = this.ui || (function () { return null; });
60
+ return Ui;
61
+ },
62
+ enumerable: false,
63
+ configurable: true
64
+ });
65
+ Object.defineProperty(Scene.prototype, "UIProps", {
66
+ get: function () {
67
+ return this.getUIProps();
68
+ },
69
+ enumerable: false,
70
+ configurable: true
71
+ });
72
+ Object.defineProperty(Scene.prototype, "soundBackgroundOptions", {
73
+ get: function () {
74
+ return Sound.Management[SoundType.BACKGROUND];
75
+ },
76
+ set: function (options) {
77
+ copyProperties(Sound.Management[SoundType.BACKGROUND], options);
78
+ for (var _i = 0, _a = this.soundBackgroundOptionsChangeListeners; _i < _a.length; _i++) {
79
+ var listener = _a[_i];
80
+ listener(Sound.Management[SoundType.BACKGROUND]);
81
+ }
82
+ },
83
+ enumerable: false,
84
+ configurable: true
85
+ });
86
+ Object.defineProperty(Scene.prototype, "soundOnceOptions", {
87
+ get: function () {
88
+ return Sound.Management[SoundType.ONCE];
89
+ },
90
+ set: function (options) {
91
+ copyProperties(Sound.Management[SoundType.ONCE], options);
92
+ for (var _i = 0, _a = this.soundOnceOptionsChangeListeners; _i < _a.length; _i++) {
93
+ var listener = _a[_i];
94
+ listener(Sound.Management[SoundType.ONCE]);
95
+ }
96
+ },
97
+ enumerable: false,
98
+ configurable: true
99
+ });
100
+ Scene.prototype.onSoundOnceOptionsChange = function (func) {
101
+ var listeners = this.soundOnceOptionsChangeListeners;
102
+ listeners.push(func);
103
+ return function () {
104
+ var index = listeners.indexOf(func);
105
+ if (index > -1) {
106
+ listeners.splice(index, 1);
107
+ }
108
+ };
109
+ };
110
+ Scene.prototype.onSoundBackgroundOptionsChange = function (func) {
111
+ var listeners = this.soundBackgroundOptionsChangeListeners;
112
+ listeners.push(func);
113
+ return function () {
114
+ var index = listeners.indexOf(func);
115
+ if (index > -1) {
116
+ listeners.splice(index, 1);
117
+ }
118
+ };
119
+ };
120
+ Scene.prototype.bootSoundOptions = function () {
121
+ var options = this.getSoundOptions();
122
+ copyProperties(Sound.Management[SoundType.ONCE], options[SoundType.ONCE] || {});
123
+ copyProperties(Sound.Management[SoundType.BACKGROUND], options[SoundType.BACKGROUND] || {});
124
+ };
125
+ Scene.prototype.getSoundOptions = function () {
126
+ return {};
127
+ };
128
+ Scene.prototype.onBorn = function () { };
129
+ Scene.prototype.getUIProps = function () {
130
+ return {};
131
+ };
132
+ Object.defineProperty(Scene.prototype, "loadedAssets", {
133
+ get: function () {
134
+ return this._loadedAssets;
135
+ },
136
+ set: function (loadedAssets) {
137
+ var _a;
138
+ this._loadedAssets = loadedAssets;
139
+ (_a = this.loadAssetsListener) === null || _a === void 0 ? void 0 : _a.call(this, loadedAssets);
140
+ },
141
+ enumerable: false,
142
+ configurable: true
143
+ });
144
+ Scene.prototype.emitEntityPropsChange = function (name, value) {
145
+ var listeners = this.entityPropsChangeListeners[name] || [];
146
+ for (var _i = 0, listeners_1 = listeners; _i < listeners_1.length; _i++) {
147
+ var listener = listeners_1[_i];
148
+ listener(value);
149
+ }
150
+ };
151
+ Scene.prototype.onEntityPropsChange = function (name, func) {
152
+ var listeners = (this.entityPropsChangeListeners[name] =
153
+ this.entityPropsChangeListeners[name] || []);
154
+ listeners.push(func);
155
+ return function () {
156
+ var index = listeners.indexOf(func);
157
+ if (index > -1) {
158
+ listeners.splice(index, 1);
159
+ }
160
+ };
161
+ };
162
+ Scene.prototype.onLoadAssetNotify = function (func) {
163
+ this.loadAssetsListener = func;
164
+ };
165
+ Scene.prototype.destructor = function () {
166
+ this.worldManagement.destructor();
167
+ for (var _i = 0, _a = this.sounds; _i < _a.length; _i++) {
168
+ var sound = _a[_i];
169
+ sound.stop();
170
+ }
171
+ };
172
+ Scene.prototype.switchToScene = function (tag) {
173
+ this.manager.gotoScene(tag);
174
+ };
175
+ Scene.prototype.loadSprites = function () {
176
+ return __awaiter(this, void 0, void 0, function () {
177
+ var _this = this;
178
+ return __generator(this, function (_a) {
179
+ switch (_a.label) {
180
+ case 0: return [4 /*yield*/, Promise.all(Scene.spritesDecor.map(function (decor) { return __awaiter(_this, void 0, void 0, function () {
181
+ var sprite;
182
+ return __generator(this, function (_a) {
183
+ switch (_a.label) {
184
+ case 0:
185
+ if (!decor.src) return [3 /*break*/, 2];
186
+ return [4 /*yield*/, createAssetImage(decor.src)];
187
+ case 1:
188
+ sprite = _a.sent();
189
+ this[decor.propertyKey] = sprite;
190
+ this.sprites.push(sprite);
191
+ _a.label = 2;
192
+ case 2: return [2 /*return*/];
193
+ }
194
+ });
195
+ }); }))];
196
+ case 1:
197
+ _a.sent();
198
+ return [2 /*return*/];
199
+ }
200
+ });
201
+ });
202
+ };
203
+ Scene.prototype.loadSounds = function () {
204
+ return __awaiter(this, void 0, void 0, function () {
205
+ var _this = this;
206
+ return __generator(this, function (_a) {
207
+ switch (_a.label) {
208
+ case 0: return [4 /*yield*/, Promise.all(this.soundsDecor.map(function (decor) { return __awaiter(_this, void 0, void 0, function () {
209
+ var sound;
210
+ return __generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0:
213
+ if (!decor.src) return [3 /*break*/, 2];
214
+ return [4 /*yield*/, createAssetSound(decor.src, decor.type)];
215
+ case 1:
216
+ sound = _a.sent();
217
+ if (decor.volumn) {
218
+ sound.volumn = decor.volumn;
219
+ }
220
+ this[decor.propertyKey] = sound;
221
+ this.sounds.push(sound);
222
+ _a.label = 2;
223
+ case 2: return [2 /*return*/];
224
+ }
225
+ });
226
+ }); }))];
227
+ case 1:
228
+ _a.sent();
229
+ return [2 /*return*/];
230
+ }
231
+ });
232
+ });
233
+ };
234
+ Scene.prototype.createSprites = function () {
235
+ var srcables = [];
236
+ for (var _i = 0; _i < arguments.length; _i++) {
237
+ srcables[_i] = arguments[_i];
238
+ }
239
+ return __awaiter(this, void 0, void 0, function () {
240
+ var _this = this;
241
+ return __generator(this, function (_a) {
242
+ return [2 /*return*/, Promise.all(srcables.map(function (srcable) { return __awaiter(_this, void 0, void 0, function () {
243
+ var src, sprite;
244
+ return __generator(this, function (_a) {
245
+ switch (_a.label) {
246
+ case 0:
247
+ src = (typeof srcable === "string" ? { src: srcable } : srcable).src;
248
+ return [4 /*yield*/, createAssetImage(src)];
249
+ case 1:
250
+ sprite = _a.sent();
251
+ this.sprites.push(sprite);
252
+ return [2 /*return*/, sprite];
253
+ }
254
+ });
255
+ }); }))];
256
+ });
257
+ });
258
+ };
259
+ Scene.prototype.createSounds = function () {
260
+ var srcables = [];
261
+ for (var _i = 0; _i < arguments.length; _i++) {
262
+ srcables[_i] = arguments[_i];
263
+ }
264
+ return __awaiter(this, void 0, void 0, function () {
265
+ var _this = this;
266
+ return __generator(this, function (_a) {
267
+ return [2 /*return*/, Promise.all(srcables.map(function (srcable) { return __awaiter(_this, void 0, void 0, function () {
268
+ var _a, volumn, src, _b, type, sound;
269
+ return __generator(this, function (_c) {
270
+ switch (_c.label) {
271
+ case 0:
272
+ _a = typeof srcable === "string"
273
+ ? { src: srcable, volumn: undefined, type: undefined }
274
+ : srcable, volumn = _a.volumn, src = _a.src, _b = _a.type, type = _b === void 0 ? SoundType.ONCE : _b;
275
+ return [4 /*yield*/, createAssetSound(src, type)];
276
+ case 1:
277
+ sound = _c.sent();
278
+ if (volumn) {
279
+ sound.volumn = volumn;
280
+ }
281
+ this.sounds.push(sound);
282
+ return [2 /*return*/, sound];
283
+ }
284
+ });
285
+ }); }))];
286
+ });
287
+ });
288
+ };
289
+ Scene.prototype.mapSprites = function () {
290
+ var srcs = [];
291
+ for (var _i = 0; _i < arguments.length; _i++) {
292
+ srcs[_i] = arguments[_i];
293
+ }
294
+ return __awaiter(this, void 0, void 0, function () {
295
+ var spritesDecor;
296
+ var _this = this;
297
+ return __generator(this, function (_a) {
298
+ switch (_a.label) {
299
+ case 0:
300
+ spritesDecor = Scene.spritesDecor.filter(function (decor) { return !decor.src; });
301
+ return [4 /*yield*/, Promise.all(srcs.map(function (src, index) { return __awaiter(_this, void 0, void 0, function () {
302
+ var decor, sprite;
303
+ return __generator(this, function (_a) {
304
+ switch (_a.label) {
305
+ case 0:
306
+ decor = spritesDecor[index];
307
+ if (!decor) return [3 /*break*/, 2];
308
+ return [4 /*yield*/, createAssetImage(src)];
309
+ case 1:
310
+ sprite = _a.sent();
311
+ this[decor.propertyKey] = sprite;
312
+ this.sprites.push(sprite);
313
+ _a.label = 2;
314
+ case 2: return [2 /*return*/];
315
+ }
316
+ });
317
+ }); }))];
318
+ case 1:
319
+ _a.sent();
320
+ return [2 /*return*/];
321
+ }
322
+ });
323
+ });
324
+ };
325
+ Scene.prototype.mapSounds = function () {
326
+ var srcs = [];
327
+ for (var _i = 0; _i < arguments.length; _i++) {
328
+ srcs[_i] = arguments[_i];
329
+ }
330
+ return __awaiter(this, void 0, void 0, function () {
331
+ var soundsDecor;
332
+ var _this = this;
333
+ return __generator(this, function (_a) {
334
+ switch (_a.label) {
335
+ case 0:
336
+ soundsDecor = this.soundsDecor.filter(function (decor) { return !decor.src; });
337
+ return [4 /*yield*/, Promise.all(srcs.map(function (src, index) { return __awaiter(_this, void 0, void 0, function () {
338
+ var decor, sound;
339
+ return __generator(this, function (_a) {
340
+ switch (_a.label) {
341
+ case 0:
342
+ decor = soundsDecor[index];
343
+ if (!decor) return [3 /*break*/, 2];
344
+ return [4 /*yield*/, createAssetSound(src, decor.type)];
345
+ case 1:
346
+ sound = _a.sent();
347
+ if (decor.volumn) {
348
+ sound.volumn = decor.volumn;
349
+ }
350
+ this[decor.propertyKey] = sound;
351
+ this.sounds.push(sound);
352
+ _a.label = 2;
353
+ case 2: return [2 /*return*/];
354
+ }
355
+ });
356
+ }); }))];
357
+ case 1:
358
+ _a.sent();
359
+ return [2 /*return*/];
360
+ }
361
+ });
362
+ });
363
+ };
364
+ Scene.prototype.loadAssets = function (delay) {
365
+ return __awaiter(this, void 0, void 0, function () {
366
+ return __generator(this, function (_a) {
367
+ switch (_a.label) {
368
+ case 0:
369
+ if (delay != null) {
370
+ this.assetsDelay = delay;
371
+ }
372
+ // if delay less than 0, it will wait forever
373
+ return [4 /*yield*/, tick(this.assetsDelay < 0 ? undefined : this.assetsDelay)];
374
+ case 1:
375
+ // if delay less than 0, it will wait forever
376
+ _a.sent();
377
+ this.loadedAssets = false;
378
+ return [4 /*yield*/, Promise.all([
379
+ this.loadSounds(),
380
+ this.loadSprites(),
381
+ this.onLoadAssets(),
382
+ ]).catch(function (err) {
383
+ console.warn("Load assets fail", err.toString());
384
+ })];
385
+ case 2:
386
+ _a.sent();
387
+ this.loadedAssets = true;
388
+ return [2 /*return*/];
389
+ }
390
+ });
391
+ });
392
+ };
393
+ Scene.prototype.onLoadAssets = function () {
394
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
395
+ return [2 /*return*/];
396
+ }); });
397
+ };
398
+ Scene.prototype.getPrefab = function (Class) {
399
+ return this.prefabs.find(function (pf) { return pf instanceof Class; });
400
+ };
401
+ Scene.prototype.bootstrap = function (camera) {
402
+ this.bootSoundOptions();
403
+ this.worldManagement = new WorldManagement(camera, this);
404
+ var components = this.getComponents(camera);
405
+ var layerIndex = 0;
406
+ for (var _i = 0, components_1 = components; _i < components_1.length; _i++) {
407
+ var component = components_1[_i];
408
+ component.worldManagement = this.worldManagement;
409
+ component.layerIndex = layerIndex++;
410
+ if (component.isPrefab) {
411
+ this.prefabs.push(component);
412
+ }
413
+ else {
414
+ var entity = component.output();
415
+ this.worldManagement.addEntity(entity);
416
+ }
417
+ }
418
+ };
419
+ Scene.prototype.onDraw = function () { };
420
+ Scene.prototype.onUpdate = function () { };
421
+ Scene.prototype.action = function () {
422
+ if (Renderer.running) {
423
+ this.onUpdate();
424
+ this.worldManagement.update();
425
+ }
426
+ Renderer.background(41, 41, 41);
427
+ this.onDraw();
428
+ this.worldManagement.draw();
429
+ };
430
+ Scene.spritesDecor = [];
431
+ return Scene;
432
+ }());
433
+ export { Scene };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sound-watcher.d.ts","sourceRoot":"","sources":["../../src/classes/sound-watcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,aAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;CACjE,CAAC;AACF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,eAS1E;AAED,aAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;CACvE,CAAC;AACF,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,QAAQ,GACT,EAAE,2BAA2B,eAU7B"}
@@ -0,0 +1,33 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
13
+ import { useEffect, useState } from "react";
14
+ export function SoundOnceWatcher(_a) {
15
+ var scene = _a.scene, children = _a.children;
16
+ var _b = useState(scene.soundOnceOptions), values = _b[0], setValues = _b[1];
17
+ useEffect(function () {
18
+ return scene.onSoundOnceOptionsChange(function (options) {
19
+ setValues(__assign({}, options));
20
+ });
21
+ }, [scene]);
22
+ return _jsx(_Fragment, { children: children(values) });
23
+ }
24
+ export function SoundBackgroundWatcher(_a) {
25
+ var scene = _a.scene, children = _a.children;
26
+ var _b = useState(scene.soundBackgroundOptions), values = _b[0], setValues = _b[1];
27
+ useEffect(function () {
28
+ return scene.onSoundBackgroundOptionsChange(function (options) {
29
+ setValues(__assign({}, options));
30
+ });
31
+ }, [scene]);
32
+ return _jsx(_Fragment, { children: children(values) });
33
+ }
@@ -0,0 +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;IAaJ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAZjC,MAAM,CAAC,UAAU,EAAE,eAAe,CAShC;IACF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAe;gBAEnB,IAAI,GAAE,SAA0B;IAE7D,IAAI,MAAM,IAIM,MAAM,CAFrB;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAErB;IAEK,OAAO;IAQP,IAAI;IAMJ,IAAI;CAWX"}
@@ -0,0 +1,119 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var _a;
38
+ import { SoundType } from "../export-enums";
39
+ // cant not Sound extends Audio, because TS complite, make call new Audio like a function
40
+ var Sound = /** @class */ (function () {
41
+ function Sound(type) {
42
+ if (type === void 0) { type = SoundType.ONCE; }
43
+ this.type = type;
44
+ this.native = new Audio();
45
+ }
46
+ Object.defineProperty(Sound.prototype, "volumn", {
47
+ get: function () {
48
+ return this.native.volume;
49
+ },
50
+ set: function (vol) {
51
+ this.native.volume = vol;
52
+ },
53
+ enumerable: false,
54
+ configurable: true
55
+ });
56
+ Sound.prototype.playNow = function () {
57
+ return __awaiter(this, void 0, void 0, function () {
58
+ var canPlay;
59
+ return __generator(this, function (_a) {
60
+ switch (_a.label) {
61
+ case 0:
62
+ canPlay = Sound.Management[this.type].canPlay;
63
+ if (!canPlay) return [3 /*break*/, 2];
64
+ this.native.currentTime = 0;
65
+ return [4 /*yield*/, this.play()];
66
+ case 1:
67
+ _a.sent();
68
+ _a.label = 2;
69
+ case 2: return [2 /*return*/];
70
+ }
71
+ });
72
+ });
73
+ };
74
+ Sound.prototype.stop = function () {
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ return __generator(this, function (_a) {
77
+ this.native.pause();
78
+ this.native.currentTime = 0;
79
+ this.native.src = "";
80
+ return [2 /*return*/];
81
+ });
82
+ });
83
+ };
84
+ Sound.prototype.play = function () {
85
+ return __awaiter(this, void 0, void 0, function () {
86
+ var _a, canPlay, loop;
87
+ return __generator(this, function (_b) {
88
+ switch (_b.label) {
89
+ case 0:
90
+ _a = Sound.Management[this.type], canPlay = _a.canPlay, loop = _a.loop;
91
+ if (!canPlay) return [3 /*break*/, 2];
92
+ if (loop) {
93
+ this.native.loop = true;
94
+ }
95
+ else {
96
+ this.native.loop = false;
97
+ }
98
+ return [4 /*yield*/, this.native.play()];
99
+ case 1:
100
+ _b.sent();
101
+ _b.label = 2;
102
+ case 2: return [2 /*return*/];
103
+ }
104
+ });
105
+ });
106
+ };
107
+ Sound.Management = (_a = {},
108
+ _a[SoundType.ONCE] = {
109
+ canPlay: true,
110
+ loop: false,
111
+ },
112
+ _a[SoundType.BACKGROUND] = {
113
+ canPlay: true,
114
+ loop: true,
115
+ },
116
+ _a);
117
+ return Sound;
118
+ }());
119
+ export { Sound };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.sprite.d.ts","sourceRoot":"","sources":["../../../src/classes/sprites/avatar.sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEpD,aAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,aAAK,sBAAsB,CAAC,CAAC,SAAS,YAAY,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAE1E,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/B,CAAC;AAEF,qBAAa,YAAa,SAAQ,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjE,OAAO,CAAC,OAAO,CAMb;IAEF,IAAI,MAAM,gBAET;IAED,MAAM;IAuBN,OAAO,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,IAAI,CAAC;CAc9C"}