react-simple-game-engine 0.1.97 → 0.1.100
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/p5.d.ts +1 -0
- package/lib/classes/p5.d.ts.map +1 -1
- package/lib/classes/p5.js +7 -0
- package/lib/classes/scene-management.d.ts.map +1 -1
- package/lib/classes/scene-management.js +3 -0
- package/lib/classes/scene.d.ts +10 -4
- package/lib/classes/scene.d.ts.map +1 -1
- package/lib/classes/scene.js +89 -52
- package/lib/classes/sound.d.ts.map +1 -1
- package/lib/classes/sound.js +7 -8
- package/lib/export-types.d.ts +0 -1
- package/lib/export-types.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/classes/p5.d.ts
CHANGED
package/lib/classes/p5.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"p5.d.ts","sourceRoot":"","sources":["../../src/classes/p5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvB,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,qBAAa,EAAG,SAAQ,EAAE;IAGqB,MAAM,EAAE,MAAM;IAF3D,OAAO,UAAQ;gBAEH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAS,MAAM,EAAE,MAAM;IAK3D,IAAI,SAAS,WAEZ;IAED,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,WAEb;IAED,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA+B9C"}
|
1
|
+
{"version":3,"file":"p5.d.ts","sourceRoot":"","sources":["../../src/classes/p5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvB,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,qBAAa,EAAG,SAAQ,EAAE;IAGqB,MAAM,EAAE,MAAM;IAF3D,OAAO,UAAQ;gBAEH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAS,MAAM,EAAE,MAAM;IAK3D,IAAI,SAAS,WAEZ;IAED,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,WAEb;IAED,IAAI,YAAY,YAEf;IAED,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA+B9C"}
|
package/lib/classes/p5.js
CHANGED
@@ -51,6 +51,13 @@ var P5 = /** @class */ (function (_super) {
|
|
51
51
|
enumerable: false,
|
52
52
|
configurable: true
|
53
53
|
});
|
54
|
+
Object.defineProperty(P5.prototype, "isForeground", {
|
55
|
+
get: function () {
|
56
|
+
return window.document.visibilityState === "visible";
|
57
|
+
},
|
58
|
+
enumerable: false,
|
59
|
+
configurable: true
|
60
|
+
});
|
54
61
|
P5.prototype.choose = function (collection) {
|
55
62
|
var lastItem = collection[collection.length - 1];
|
56
63
|
var restItems = collection.slice(0, collection.length - 1);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scene-management.d.ts","sourceRoot":"","sources":["../../src/classes/scene-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,oBAAY,UAAU,GAAG;IAAE,QAAQ,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,aAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAElD,qBAAa,eAAe;IAOd,OAAO,CAAC,MAAM;IAN1B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU;gBAIX,MAAM,EAAE,UAAU,EAAE;IAKxC,IAAI,YAAY,eAEf;IAED,aAAa,CAAC,IAAI,EAAE,mBAAmB;IAIvC,OAAO;IAQP,IAAI;
|
1
|
+
{"version":3,"file":"scene-management.d.ts","sourceRoot":"","sources":["../../src/classes/scene-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,oBAAY,UAAU,GAAG;IAAE,QAAQ,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,aAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAElD,qBAAa,eAAe;IAOd,OAAO,CAAC,MAAM;IAN1B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU;gBAIX,MAAM,EAAE,UAAU,EAAE;IAKxC,IAAI,YAAY,eAEf;IAED,aAAa,CAAC,IAAI,EAAE,mBAAmB;IAIvC,OAAO;IAQP,IAAI;IAaJ,MAAM;IAIN,SAAS,CAAC,GAAG,EAAE,MAAM;IAarB,OAAO,CAAC,UAAU;CAKnB"}
|
@@ -28,6 +28,9 @@ var SceneManagement = /** @class */ (function () {
|
|
28
28
|
var currentIndex = this.Scenes.findIndex(function (Scene) { return _this._currentScene instanceof Scene; });
|
29
29
|
var NextScene = this.Scenes[currentIndex + 1];
|
30
30
|
if (NextScene) {
|
31
|
+
if (this._currentScene) {
|
32
|
+
this._currentScene.destructor();
|
33
|
+
}
|
31
34
|
this.startScene(NextScene);
|
32
35
|
}
|
33
36
|
};
|
package/lib/classes/scene.d.ts
CHANGED
@@ -11,23 +11,26 @@ 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<V = any> = (isForeground: boolean) => void;
|
14
15
|
export declare abstract class Scene<UIP = any> {
|
15
16
|
private ui;
|
16
17
|
private worldManagement;
|
17
18
|
private _loadedAssets;
|
18
19
|
private loadAssetsListener;
|
20
|
+
private nativeEventsUnsubscribes;
|
19
21
|
private readonly entityPropsChangeListeners;
|
20
22
|
private readonly soundBackgroundOptionsChangeListeners;
|
21
23
|
private readonly soundOnceOptionsChangeListeners;
|
24
|
+
private readonly processStateChangeListeners;
|
22
25
|
private readonly prefabs;
|
23
26
|
private readonly soundsDecor;
|
24
27
|
private readonly spritesDecor;
|
25
28
|
readonly sounds: Sound[];
|
26
29
|
readonly sprites: Avatar[];
|
30
|
+
readonly sessionId: string;
|
27
31
|
assetsDelay: number;
|
28
32
|
tag: string;
|
29
33
|
manager: SceneManagement;
|
30
|
-
readonly sessionId: string;
|
31
34
|
abstract getComponents(camera: Camera): LogicComponent<EntitySult>[];
|
32
35
|
constructor();
|
33
36
|
get UI(): ComponentType<UIP> | (() => any);
|
@@ -36,16 +39,18 @@ export declare abstract class Scene<UIP = any> {
|
|
36
39
|
get soundOnceOptions(): SoundManagement[SoundType.ONCE];
|
37
40
|
set soundBackgroundOptions(options: Partial<SoundManagement[SoundType.BACKGROUND]>);
|
38
41
|
set soundOnceOptions(options: Partial<SoundManagement[SoundType.ONCE]>);
|
39
|
-
onSoundOnceOptionsChange(func: SoundOptionsChangeListener<SoundType.ONCE>): () => void;
|
40
|
-
onSoundBackgroundOptionsChange(func: SoundOptionsChangeListener<SoundType.BACKGROUND>): () => void;
|
41
42
|
private bootSoundOptions;
|
42
43
|
protected getSoundOptions(): GetSoundOptions;
|
43
44
|
protected onBorn(): void;
|
44
45
|
protected getUIProps(): UIP;
|
45
46
|
get loadedAssets(): boolean;
|
46
47
|
private set loadedAssets(value);
|
47
|
-
|
48
|
+
onProcessStateChangeListener(func: ProcessStateChangeListener): () => void;
|
49
|
+
onSoundOnceOptionsChange(func: SoundOptionsChangeListener<SoundType.ONCE>): () => void;
|
50
|
+
onSoundBackgroundOptionsChange(func: SoundOptionsChangeListener<SoundType.BACKGROUND>): () => void;
|
48
51
|
onEntityPropsChange<V = any>(name: string, func: EntityPropsChangeListener<V>): () => void;
|
52
|
+
emitProcessStateChangeListener(isForeground: boolean): void;
|
53
|
+
emitEntityPropsChange<V = any>(name: string, value: V): void;
|
49
54
|
onLoadAssetNotify(func: LoadAssetsListener): void;
|
50
55
|
destructor(): void;
|
51
56
|
switchToScene(tag: string): void;
|
@@ -66,6 +71,7 @@ export declare abstract class Scene<UIP = any> {
|
|
66
71
|
getPrefab<C extends EntitySult>(Class: {
|
67
72
|
new (...args: any[]): Prefab<C>;
|
68
73
|
}): Prefab<C>;
|
74
|
+
listenNativeEvents(): void;
|
69
75
|
bootstrap(camera: Camera): void;
|
70
76
|
protected onDraw(): void;
|
71
77
|
protected onUpdate(): void;
|
@@ -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
@@ -38,16 +38,19 @@ import { WorldManagement } from "./world-management";
|
|
38
38
|
import { copyProperties, createAssetImage, createAssetSound, parallel, tick, } from "../utils";
|
39
39
|
import { Sound } from "./sound";
|
40
40
|
import { SoundType } from "../export-enums";
|
41
|
+
var MAX_ASSET_PARALLEL_LOAD = 4;
|
41
42
|
var Scene = /** @class */ (function () {
|
42
43
|
function Scene() {
|
44
|
+
this.nativeEventsUnsubscribes = function () { };
|
43
45
|
this.entityPropsChangeListeners = {};
|
44
46
|
this.soundBackgroundOptionsChangeListeners = [];
|
45
47
|
this.soundOnceOptionsChangeListeners = [];
|
48
|
+
this.processStateChangeListeners = [];
|
46
49
|
this.prefabs = [];
|
47
50
|
this.sounds = [];
|
48
51
|
this.sprites = [];
|
49
|
-
this.assetsDelay = 0;
|
50
52
|
this.sessionId = "".concat(Math.random(), "-").concat(new Date().getTime());
|
53
|
+
this.assetsDelay = 0;
|
51
54
|
this.tag = this.constructor.tag;
|
52
55
|
this.ui = this.constructor.ui;
|
53
56
|
this.soundsDecor = this.__proto__.soundsDecor || [];
|
@@ -98,26 +101,6 @@ var Scene = /** @class */ (function () {
|
|
98
101
|
enumerable: false,
|
99
102
|
configurable: true
|
100
103
|
});
|
101
|
-
Scene.prototype.onSoundOnceOptionsChange = function (func) {
|
102
|
-
var listeners = this.soundOnceOptionsChangeListeners;
|
103
|
-
listeners.push(func);
|
104
|
-
return function () {
|
105
|
-
var index = listeners.indexOf(func);
|
106
|
-
if (index > -1) {
|
107
|
-
listeners.splice(index, 1);
|
108
|
-
}
|
109
|
-
};
|
110
|
-
};
|
111
|
-
Scene.prototype.onSoundBackgroundOptionsChange = function (func) {
|
112
|
-
var listeners = this.soundBackgroundOptionsChangeListeners;
|
113
|
-
listeners.push(func);
|
114
|
-
return function () {
|
115
|
-
var index = listeners.indexOf(func);
|
116
|
-
if (index > -1) {
|
117
|
-
listeners.splice(index, 1);
|
118
|
-
}
|
119
|
-
};
|
120
|
-
};
|
121
104
|
Scene.prototype.bootSoundOptions = function () {
|
122
105
|
var options = this.getSoundOptions();
|
123
106
|
copyProperties(Sound.Management[SoundType.ONCE], options[SoundType.ONCE] || {});
|
@@ -142,12 +125,35 @@ var Scene = /** @class */ (function () {
|
|
142
125
|
enumerable: false,
|
143
126
|
configurable: true
|
144
127
|
});
|
145
|
-
Scene.prototype.
|
146
|
-
var listeners = this.
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
128
|
+
Scene.prototype.onProcessStateChangeListener = function (func) {
|
129
|
+
var listeners = this.processStateChangeListeners;
|
130
|
+
listeners.push(func);
|
131
|
+
return function () {
|
132
|
+
var index = listeners.indexOf(func);
|
133
|
+
if (index > -1) {
|
134
|
+
listeners.splice(index, 1);
|
135
|
+
}
|
136
|
+
};
|
137
|
+
};
|
138
|
+
Scene.prototype.onSoundOnceOptionsChange = function (func) {
|
139
|
+
var listeners = this.soundOnceOptionsChangeListeners;
|
140
|
+
listeners.push(func);
|
141
|
+
return function () {
|
142
|
+
var index = listeners.indexOf(func);
|
143
|
+
if (index > -1) {
|
144
|
+
listeners.splice(index, 1);
|
145
|
+
}
|
146
|
+
};
|
147
|
+
};
|
148
|
+
Scene.prototype.onSoundBackgroundOptionsChange = function (func) {
|
149
|
+
var listeners = this.soundBackgroundOptionsChangeListeners;
|
150
|
+
listeners.push(func);
|
151
|
+
return function () {
|
152
|
+
var index = listeners.indexOf(func);
|
153
|
+
if (index > -1) {
|
154
|
+
listeners.splice(index, 1);
|
155
|
+
}
|
156
|
+
};
|
151
157
|
};
|
152
158
|
Scene.prototype.onEntityPropsChange = function (name, func) {
|
153
159
|
var listeners = (this.entityPropsChangeListeners[name] =
|
@@ -160,10 +166,25 @@ var Scene = /** @class */ (function () {
|
|
160
166
|
}
|
161
167
|
};
|
162
168
|
};
|
169
|
+
Scene.prototype.emitProcessStateChangeListener = function (isForeground) {
|
170
|
+
var listeners = this.processStateChangeListeners;
|
171
|
+
for (var _i = 0, listeners_1 = listeners; _i < listeners_1.length; _i++) {
|
172
|
+
var listener = listeners_1[_i];
|
173
|
+
listener(isForeground);
|
174
|
+
}
|
175
|
+
};
|
176
|
+
Scene.prototype.emitEntityPropsChange = function (name, value) {
|
177
|
+
var listeners = this.entityPropsChangeListeners[name] || [];
|
178
|
+
for (var _i = 0, listeners_2 = listeners; _i < listeners_2.length; _i++) {
|
179
|
+
var listener = listeners_2[_i];
|
180
|
+
listener(value);
|
181
|
+
}
|
182
|
+
};
|
163
183
|
Scene.prototype.onLoadAssetNotify = function (func) {
|
164
184
|
this.loadAssetsListener = func;
|
165
185
|
};
|
166
186
|
Scene.prototype.destructor = function () {
|
187
|
+
this.nativeEventsUnsubscribes();
|
167
188
|
this.worldManagement.destructor();
|
168
189
|
for (var _i = 0, _a = this.sounds; _i < _a.length; _i++) {
|
169
190
|
var sound = _a[_i];
|
@@ -175,10 +196,10 @@ var Scene = /** @class */ (function () {
|
|
175
196
|
};
|
176
197
|
Scene.prototype.loadSprites = function () {
|
177
198
|
return __awaiter(this, void 0, void 0, function () {
|
178
|
-
var
|
199
|
+
var _this_1 = this;
|
179
200
|
return __generator(this, function (_a) {
|
180
201
|
switch (_a.label) {
|
181
|
-
case 0: return [4 /*yield*/,
|
202
|
+
case 0: return [4 /*yield*/, parallel(this.spritesDecor, function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
|
182
203
|
var sprite;
|
183
204
|
return __generator(this, function (_a) {
|
184
205
|
switch (_a.label) {
|
@@ -193,7 +214,9 @@ var Scene = /** @class */ (function () {
|
|
193
214
|
case 2: return [2 /*return*/];
|
194
215
|
}
|
195
216
|
});
|
196
|
-
}); }))
|
217
|
+
}); }, MAX_ASSET_PARALLEL_LOAD).catch(function (err) {
|
218
|
+
console.warn("Load sprites fail", err.toString());
|
219
|
+
})];
|
197
220
|
case 1:
|
198
221
|
_a.sent();
|
199
222
|
return [2 /*return*/];
|
@@ -203,10 +226,10 @@ var Scene = /** @class */ (function () {
|
|
203
226
|
};
|
204
227
|
Scene.prototype.loadSounds = function () {
|
205
228
|
return __awaiter(this, void 0, void 0, function () {
|
206
|
-
var
|
229
|
+
var _this_1 = this;
|
207
230
|
return __generator(this, function (_a) {
|
208
231
|
switch (_a.label) {
|
209
|
-
case 0: return [4 /*yield*/,
|
232
|
+
case 0: return [4 /*yield*/, parallel(this.soundsDecor, function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
|
210
233
|
var sound;
|
211
234
|
return __generator(this, function (_a) {
|
212
235
|
switch (_a.label) {
|
@@ -224,7 +247,9 @@ var Scene = /** @class */ (function () {
|
|
224
247
|
case 2: return [2 /*return*/];
|
225
248
|
}
|
226
249
|
});
|
227
|
-
}); }))
|
250
|
+
}); }, MAX_ASSET_PARALLEL_LOAD).catch(function (err) {
|
251
|
+
console.warn("Load sounds fail", err.toString());
|
252
|
+
})];
|
228
253
|
case 1:
|
229
254
|
_a.sent();
|
230
255
|
return [2 /*return*/];
|
@@ -238,9 +263,9 @@ var Scene = /** @class */ (function () {
|
|
238
263
|
srcables[_i] = arguments[_i];
|
239
264
|
}
|
240
265
|
return __awaiter(this, void 0, void 0, function () {
|
241
|
-
var
|
266
|
+
var _this_1 = this;
|
242
267
|
return __generator(this, function (_a) {
|
243
|
-
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(
|
268
|
+
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(_this_1, void 0, void 0, function () {
|
244
269
|
var src, sprite;
|
245
270
|
return __generator(this, function (_a) {
|
246
271
|
switch (_a.label) {
|
@@ -253,7 +278,7 @@ var Scene = /** @class */ (function () {
|
|
253
278
|
return [2 /*return*/, sprite];
|
254
279
|
}
|
255
280
|
});
|
256
|
-
}); },
|
281
|
+
}); }, MAX_ASSET_PARALLEL_LOAD)];
|
257
282
|
});
|
258
283
|
});
|
259
284
|
};
|
@@ -263,9 +288,9 @@ var Scene = /** @class */ (function () {
|
|
263
288
|
srcables[_i] = arguments[_i];
|
264
289
|
}
|
265
290
|
return __awaiter(this, void 0, void 0, function () {
|
266
|
-
var
|
291
|
+
var _this_1 = this;
|
267
292
|
return __generator(this, function (_a) {
|
268
|
-
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(
|
293
|
+
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(_this_1, void 0, void 0, function () {
|
269
294
|
var _a, volumn, src, _b, type, sound;
|
270
295
|
return __generator(this, function (_c) {
|
271
296
|
switch (_c.label) {
|
@@ -283,7 +308,7 @@ var Scene = /** @class */ (function () {
|
|
283
308
|
return [2 /*return*/, sound];
|
284
309
|
}
|
285
310
|
});
|
286
|
-
}); },
|
311
|
+
}); }, MAX_ASSET_PARALLEL_LOAD)];
|
287
312
|
});
|
288
313
|
});
|
289
314
|
};
|
@@ -294,14 +319,14 @@ var Scene = /** @class */ (function () {
|
|
294
319
|
}
|
295
320
|
return __awaiter(this, void 0, void 0, function () {
|
296
321
|
var spritesDecor;
|
297
|
-
var
|
322
|
+
var _this_1 = this;
|
298
323
|
return __generator(this, function (_a) {
|
299
324
|
switch (_a.label) {
|
300
325
|
case 0:
|
301
326
|
spritesDecor = this.spritesDecor.filter(function (decor) { return !decor.src; });
|
302
327
|
return [4 /*yield*/, parallel(srcs, function (src, _a) {
|
303
328
|
var realIndex = _a.realIndex;
|
304
|
-
return __awaiter(
|
329
|
+
return __awaiter(_this_1, void 0, void 0, function () {
|
305
330
|
var decor, sprite;
|
306
331
|
return __generator(this, function (_b) {
|
307
332
|
switch (_b.label) {
|
@@ -318,7 +343,7 @@ var Scene = /** @class */ (function () {
|
|
318
343
|
}
|
319
344
|
});
|
320
345
|
});
|
321
|
-
},
|
346
|
+
}, MAX_ASSET_PARALLEL_LOAD)];
|
322
347
|
case 1:
|
323
348
|
_a.sent();
|
324
349
|
return [2 /*return*/];
|
@@ -333,14 +358,14 @@ var Scene = /** @class */ (function () {
|
|
333
358
|
}
|
334
359
|
return __awaiter(this, void 0, void 0, function () {
|
335
360
|
var soundsDecor;
|
336
|
-
var
|
361
|
+
var _this_1 = this;
|
337
362
|
return __generator(this, function (_a) {
|
338
363
|
switch (_a.label) {
|
339
364
|
case 0:
|
340
365
|
soundsDecor = this.soundsDecor.filter(function (decor) { return !decor.src; });
|
341
366
|
return [4 /*yield*/, parallel(srcs, function (src, _a) {
|
342
367
|
var realIndex = _a.realIndex;
|
343
|
-
return __awaiter(
|
368
|
+
return __awaiter(_this_1, void 0, void 0, function () {
|
344
369
|
var decor, sound;
|
345
370
|
return __generator(this, function (_b) {
|
346
371
|
switch (_b.label) {
|
@@ -360,7 +385,7 @@ var Scene = /** @class */ (function () {
|
|
360
385
|
}
|
361
386
|
});
|
362
387
|
});
|
363
|
-
},
|
388
|
+
}, MAX_ASSET_PARALLEL_LOAD)];
|
364
389
|
case 1:
|
365
390
|
_a.sent();
|
366
391
|
return [2 /*return*/];
|
@@ -382,14 +407,15 @@ var Scene = /** @class */ (function () {
|
|
382
407
|
// if delay less than 0, it will wait forever
|
383
408
|
_a.sent();
|
384
409
|
this.loadedAssets = false;
|
385
|
-
return [4 /*yield*/, Promise.all([
|
386
|
-
|
387
|
-
this.loadSprites(),
|
388
|
-
this.onLoadAssets(),
|
389
|
-
]).catch(function (err) {
|
390
|
-
console.warn("Load assets fail", err.toString());
|
410
|
+
return [4 /*yield*/, Promise.all([this.loadSounds(), this.loadSprites()]).catch(function (err) {
|
411
|
+
console.warn("[1] Load assets fail", err.toString());
|
391
412
|
})];
|
392
413
|
case 2:
|
414
|
+
_a.sent();
|
415
|
+
return [4 /*yield*/, this.onLoadAssets().catch(function (err) {
|
416
|
+
console.warn("[2] Load assets fail", err.toString());
|
417
|
+
})];
|
418
|
+
case 3:
|
393
419
|
_a.sent();
|
394
420
|
this.loadedAssets = true;
|
395
421
|
return [2 /*return*/];
|
@@ -405,7 +431,18 @@ var Scene = /** @class */ (function () {
|
|
405
431
|
Scene.prototype.getPrefab = function (Class) {
|
406
432
|
return this.prefabs.find(function (pf) { return pf instanceof Class; });
|
407
433
|
};
|
434
|
+
Scene.prototype.listenNativeEvents = function () {
|
435
|
+
var _this = this;
|
436
|
+
function onVisibilitychange() {
|
437
|
+
_this.emitProcessStateChangeListener(window.Renderer.isForeground);
|
438
|
+
}
|
439
|
+
window.document.addEventListener("visibilitychange", onVisibilitychange);
|
440
|
+
this.nativeEventsUnsubscribes = function () {
|
441
|
+
window.document.removeEventListener("visibilitychange", onVisibilitychange);
|
442
|
+
};
|
443
|
+
};
|
408
444
|
Scene.prototype.bootstrap = function (camera) {
|
445
|
+
this.listenNativeEvents();
|
409
446
|
this.bootSoundOptions();
|
410
447
|
this.worldManagement = new WorldManagement(camera, this);
|
411
448
|
var components = this.getComponents(camera);
|
@@ -426,7 +463,7 @@ var Scene = /** @class */ (function () {
|
|
426
463
|
Scene.prototype.onDraw = function () { };
|
427
464
|
Scene.prototype.onUpdate = function () { };
|
428
465
|
Scene.prototype.action = function () {
|
429
|
-
if (Renderer.running) {
|
466
|
+
if (Renderer.running && Renderer.isForeground) {
|
430
467
|
this.onUpdate();
|
431
468
|
this.worldManagement.update();
|
432
469
|
}
|
@@ -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;IAWJ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVjC,MAAM,CAAC,UAAU,EAAE,eAAe,CAOhC;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;CAYX"}
|
package/lib/classes/sound.js
CHANGED
@@ -83,12 +83,13 @@ var Sound = /** @class */ (function () {
|
|
83
83
|
};
|
84
84
|
Sound.prototype.play = function () {
|
85
85
|
return __awaiter(this, void 0, void 0, function () {
|
86
|
-
var
|
87
|
-
return __generator(this, function (
|
88
|
-
switch (
|
86
|
+
var canPlay, loop;
|
87
|
+
return __generator(this, function (_a) {
|
88
|
+
switch (_a.label) {
|
89
89
|
case 0:
|
90
|
-
|
90
|
+
canPlay = Sound.Management[this.type].canPlay;
|
91
91
|
if (!canPlay) return [3 /*break*/, 2];
|
92
|
+
loop = this.type === SoundType.BACKGROUND;
|
92
93
|
if (loop) {
|
93
94
|
this.native.loop = true;
|
94
95
|
}
|
@@ -97,8 +98,8 @@ var Sound = /** @class */ (function () {
|
|
97
98
|
}
|
98
99
|
return [4 /*yield*/, this.native.play()];
|
99
100
|
case 1:
|
100
|
-
|
101
|
-
|
101
|
+
_a.sent();
|
102
|
+
_a.label = 2;
|
102
103
|
case 2: return [2 /*return*/];
|
103
104
|
}
|
104
105
|
});
|
@@ -107,11 +108,9 @@ var Sound = /** @class */ (function () {
|
|
107
108
|
Sound.Management = (_a = {},
|
108
109
|
_a[SoundType.ONCE] = {
|
109
110
|
canPlay: true,
|
110
|
-
loop: false,
|
111
111
|
},
|
112
112
|
_a[SoundType.BACKGROUND] = {
|
113
113
|
canPlay: true,
|
114
|
-
loop: true,
|
115
114
|
},
|
116
115
|
_a);
|
117
116
|
return Sound;
|
package/lib/export-types.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"export-types.d.ts","sourceRoot":"","sources":["../src/export-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,oBAAY,MAAM,GAAG,UAAU,CAAC,OAAO,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE,oBAAY,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/D,oBAAY,UAAU,GAAG,IAAI,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACjD;IACF,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C,CAAC;AAGF,aAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxE,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1E,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAC5C,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,oBAAY,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,oBAAY,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACpD;IACE,QAAQ,CAAC,CAAC;CACX,GACD,CAAC;IAAE,QAAQ,CAAC,CAAA;CAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpC,oBAAY,eAAe,GAAG,MAAM,CAClC,SAAS,EACT;IACE,OAAO,EAAE,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"export-types.d.ts","sourceRoot":"","sources":["../src/export-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,oBAAY,MAAM,GAAG,UAAU,CAAC,OAAO,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE,oBAAY,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/D,oBAAY,UAAU,GAAG,IAAI,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACjD;IACF,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C,CAAC;AAGF,aAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxE,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1E,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAC5C,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,oBAAY,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,oBAAY,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACpD;IACE,QAAQ,CAAC,CAAC;CACX,GACD,CAAC;IAAE,QAAQ,CAAC,CAAA;CAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpC,oBAAY,eAAe,GAAG,MAAM,CAClC,SAAS,EACT;IACE,OAAO,EAAE,OAAO,CAAC;CAClB,CACF,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAE3D,oBAAY,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
|