react-simple-game-engine 0.1.96 → 0.1.99
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 +9 -2
- 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 +77 -42
- 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
@@ -39,14 +39,21 @@ var P5 = /** @class */ (function (_super) {
|
|
39
39
|
});
|
40
40
|
Object.defineProperty(P5.prototype, "gameMouseX", {
|
41
41
|
get: function () {
|
42
|
-
return this.mouseX
|
42
|
+
return (this.mouseX - this.scaler.deltaOfScaleForUI.x) / this.scaler.value;
|
43
43
|
},
|
44
44
|
enumerable: false,
|
45
45
|
configurable: true
|
46
46
|
});
|
47
47
|
Object.defineProperty(P5.prototype, "gameMouseY", {
|
48
48
|
get: function () {
|
49
|
-
return this.mouseY
|
49
|
+
return (this.mouseY - this.scaler.deltaOfScaleForUI.y) / this.scaler.value;
|
50
|
+
},
|
51
|
+
enumerable: false,
|
52
|
+
configurable: true
|
53
|
+
});
|
54
|
+
Object.defineProperty(P5.prototype, "isForeground", {
|
55
|
+
get: function () {
|
56
|
+
return window.document.visibilityState === "visible";
|
50
57
|
},
|
51
58
|
enumerable: false,
|
52
59
|
configurable: true
|
@@ -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;AAE5C,aAAK,0BAA0B,CAAC,CAAC,SAAS,SAAS,IAAI,CACrD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,KACxB,IAAI,CAAC;AACV,aAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAC1D,aAAK,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;
|
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;AAE5C,aAAK,0BAA0B,CAAC,CAAC,SAAS,SAAS,IAAI,CACrD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,KACxB,IAAI,CAAC;AACV,aAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAC1D,aAAK,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAC7D,aAAK,0BAA0B,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAE3E,8BAAsB,KAAK,CAAC,GAAG,GAAG,GAAG;IACnC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,wBAAwB,CAAwB;IAExD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAGpC;IACP,OAAO,CAAC,QAAQ,CAAC,qCAAqC,CACjD;IACL,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAC3C;IACL,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CACvC;IACL,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C,SAAgB,MAAM,EAAE,KAAK,EAAE,CAAM;IACrC,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvC,SAAgB,SAAS,EAAE,MAAM,CAA8C;IAExE,WAAW,EAAE,MAAM,CAAK;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,eAAe,CAAC;aAEhB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE;;IAY3E,IAAI,EAAE,qCAGL;IAED,IAAI,OAAO,QAEV;IAED,IAAI,sBAAsB,IAAI,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAElE;IAED,IAAI,gBAAgB,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAEtD;IAED,IAAI,sBAAsB,CACxB,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAMxD;IAED,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAKrE;IAED,OAAO,CAAC,gBAAgB;IAYxB,SAAS,CAAC,eAAe,IAAI,eAAe;IAI5C,SAAS,CAAC,MAAM;IAEhB,SAAS,CAAC,UAAU,IAAI,GAAG;IAI3B,IAAI,YAAY,IAIuB,OAAO,CAF7C;IAED,OAAO,KAAK,YAAY,QAGvB;IAED,4BAA4B,CAAC,IAAI,EAAE,0BAA0B;IAW7D,wBAAwB,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC;IAUzE,8BAA8B,CAC5B,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,UAAU,CAAC;IAWxD,mBAAmB,CAAC,CAAC,GAAG,GAAG,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAepC,8BAA8B,CAAC,YAAY,EAAE,OAAO;IAOpD,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAOrD,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAI1C,UAAU;IAQV,aAAa,CAAC,GAAG,EAAE,MAAM;YAIX,WAAW;YAgBX,UAAU;IAoBlB,aAAa,CAAC,GAAG,QAAQ,EAAE,CAAC,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE;IAcvD,YAAY,CAChB,GAAG,QAAQ,EAAE,CAAC,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,EAAE;IAwBxE,UAAU,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAgB5B,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAmB3B,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM;IAkBzB,YAAY;IAElB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE;QACrC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KACjC,GAAG,MAAM,CAAC,CAAC,CAAC;IAIb,kBAAkB;IAelB,SAAS,CAAC,MAAM,EAAE,MAAM;IAoBxB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,QAAQ;IAElB,MAAM;CAUP"}
|
package/lib/classes/scene.js
CHANGED
@@ -40,14 +40,16 @@ import { Sound } from "./sound";
|
|
40
40
|
import { SoundType } from "../export-enums";
|
41
41
|
var Scene = /** @class */ (function () {
|
42
42
|
function Scene() {
|
43
|
+
this.nativeEventsUnsubscribes = function () { };
|
43
44
|
this.entityPropsChangeListeners = {};
|
44
45
|
this.soundBackgroundOptionsChangeListeners = [];
|
45
46
|
this.soundOnceOptionsChangeListeners = [];
|
47
|
+
this.processStateChangeListeners = [];
|
46
48
|
this.prefabs = [];
|
47
49
|
this.sounds = [];
|
48
50
|
this.sprites = [];
|
49
|
-
this.assetsDelay = 0;
|
50
51
|
this.sessionId = "".concat(Math.random(), "-").concat(new Date().getTime());
|
52
|
+
this.assetsDelay = 0;
|
51
53
|
this.tag = this.constructor.tag;
|
52
54
|
this.ui = this.constructor.ui;
|
53
55
|
this.soundsDecor = this.__proto__.soundsDecor || [];
|
@@ -98,26 +100,6 @@ var Scene = /** @class */ (function () {
|
|
98
100
|
enumerable: false,
|
99
101
|
configurable: true
|
100
102
|
});
|
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
103
|
Scene.prototype.bootSoundOptions = function () {
|
122
104
|
var options = this.getSoundOptions();
|
123
105
|
copyProperties(Sound.Management[SoundType.ONCE], options[SoundType.ONCE] || {});
|
@@ -142,12 +124,35 @@ var Scene = /** @class */ (function () {
|
|
142
124
|
enumerable: false,
|
143
125
|
configurable: true
|
144
126
|
});
|
145
|
-
Scene.prototype.
|
146
|
-
var listeners = this.
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
127
|
+
Scene.prototype.onProcessStateChangeListener = function (func) {
|
128
|
+
var listeners = this.processStateChangeListeners;
|
129
|
+
listeners.push(func);
|
130
|
+
return function () {
|
131
|
+
var index = listeners.indexOf(func);
|
132
|
+
if (index > -1) {
|
133
|
+
listeners.splice(index, 1);
|
134
|
+
}
|
135
|
+
};
|
136
|
+
};
|
137
|
+
Scene.prototype.onSoundOnceOptionsChange = function (func) {
|
138
|
+
var listeners = this.soundOnceOptionsChangeListeners;
|
139
|
+
listeners.push(func);
|
140
|
+
return function () {
|
141
|
+
var index = listeners.indexOf(func);
|
142
|
+
if (index > -1) {
|
143
|
+
listeners.splice(index, 1);
|
144
|
+
}
|
145
|
+
};
|
146
|
+
};
|
147
|
+
Scene.prototype.onSoundBackgroundOptionsChange = function (func) {
|
148
|
+
var listeners = this.soundBackgroundOptionsChangeListeners;
|
149
|
+
listeners.push(func);
|
150
|
+
return function () {
|
151
|
+
var index = listeners.indexOf(func);
|
152
|
+
if (index > -1) {
|
153
|
+
listeners.splice(index, 1);
|
154
|
+
}
|
155
|
+
};
|
151
156
|
};
|
152
157
|
Scene.prototype.onEntityPropsChange = function (name, func) {
|
153
158
|
var listeners = (this.entityPropsChangeListeners[name] =
|
@@ -160,10 +165,25 @@ var Scene = /** @class */ (function () {
|
|
160
165
|
}
|
161
166
|
};
|
162
167
|
};
|
168
|
+
Scene.prototype.emitProcessStateChangeListener = function (isForeground) {
|
169
|
+
var listeners = this.processStateChangeListeners;
|
170
|
+
for (var _i = 0, listeners_1 = listeners; _i < listeners_1.length; _i++) {
|
171
|
+
var listener = listeners_1[_i];
|
172
|
+
listener(isForeground);
|
173
|
+
}
|
174
|
+
};
|
175
|
+
Scene.prototype.emitEntityPropsChange = function (name, value) {
|
176
|
+
var listeners = this.entityPropsChangeListeners[name] || [];
|
177
|
+
for (var _i = 0, listeners_2 = listeners; _i < listeners_2.length; _i++) {
|
178
|
+
var listener = listeners_2[_i];
|
179
|
+
listener(value);
|
180
|
+
}
|
181
|
+
};
|
163
182
|
Scene.prototype.onLoadAssetNotify = function (func) {
|
164
183
|
this.loadAssetsListener = func;
|
165
184
|
};
|
166
185
|
Scene.prototype.destructor = function () {
|
186
|
+
this.nativeEventsUnsubscribes();
|
167
187
|
this.worldManagement.destructor();
|
168
188
|
for (var _i = 0, _a = this.sounds; _i < _a.length; _i++) {
|
169
189
|
var sound = _a[_i];
|
@@ -175,10 +195,10 @@ var Scene = /** @class */ (function () {
|
|
175
195
|
};
|
176
196
|
Scene.prototype.loadSprites = function () {
|
177
197
|
return __awaiter(this, void 0, void 0, function () {
|
178
|
-
var
|
198
|
+
var _this_1 = this;
|
179
199
|
return __generator(this, function (_a) {
|
180
200
|
switch (_a.label) {
|
181
|
-
case 0: return [4 /*yield*/,
|
201
|
+
case 0: return [4 /*yield*/, parallel(this.spritesDecor, function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
|
182
202
|
var sprite;
|
183
203
|
return __generator(this, function (_a) {
|
184
204
|
switch (_a.label) {
|
@@ -193,7 +213,9 @@ var Scene = /** @class */ (function () {
|
|
193
213
|
case 2: return [2 /*return*/];
|
194
214
|
}
|
195
215
|
});
|
196
|
-
}); }))
|
216
|
+
}); }, 5).catch(function (err) {
|
217
|
+
console.warn("Load sprites fail", err.toString());
|
218
|
+
})];
|
197
219
|
case 1:
|
198
220
|
_a.sent();
|
199
221
|
return [2 /*return*/];
|
@@ -203,10 +225,10 @@ var Scene = /** @class */ (function () {
|
|
203
225
|
};
|
204
226
|
Scene.prototype.loadSounds = function () {
|
205
227
|
return __awaiter(this, void 0, void 0, function () {
|
206
|
-
var
|
228
|
+
var _this_1 = this;
|
207
229
|
return __generator(this, function (_a) {
|
208
230
|
switch (_a.label) {
|
209
|
-
case 0: return [4 /*yield*/,
|
231
|
+
case 0: return [4 /*yield*/, parallel(this.soundsDecor, function (decor) { return __awaiter(_this_1, void 0, void 0, function () {
|
210
232
|
var sound;
|
211
233
|
return __generator(this, function (_a) {
|
212
234
|
switch (_a.label) {
|
@@ -224,7 +246,9 @@ var Scene = /** @class */ (function () {
|
|
224
246
|
case 2: return [2 /*return*/];
|
225
247
|
}
|
226
248
|
});
|
227
|
-
}); }))
|
249
|
+
}); }, 5).catch(function (err) {
|
250
|
+
console.warn("Load sounds fail", err.toString());
|
251
|
+
})];
|
228
252
|
case 1:
|
229
253
|
_a.sent();
|
230
254
|
return [2 /*return*/];
|
@@ -238,9 +262,9 @@ var Scene = /** @class */ (function () {
|
|
238
262
|
srcables[_i] = arguments[_i];
|
239
263
|
}
|
240
264
|
return __awaiter(this, void 0, void 0, function () {
|
241
|
-
var
|
265
|
+
var _this_1 = this;
|
242
266
|
return __generator(this, function (_a) {
|
243
|
-
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(
|
267
|
+
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(_this_1, void 0, void 0, function () {
|
244
268
|
var src, sprite;
|
245
269
|
return __generator(this, function (_a) {
|
246
270
|
switch (_a.label) {
|
@@ -263,9 +287,9 @@ var Scene = /** @class */ (function () {
|
|
263
287
|
srcables[_i] = arguments[_i];
|
264
288
|
}
|
265
289
|
return __awaiter(this, void 0, void 0, function () {
|
266
|
-
var
|
290
|
+
var _this_1 = this;
|
267
291
|
return __generator(this, function (_a) {
|
268
|
-
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(
|
292
|
+
return [2 /*return*/, parallel(srcables, function (srcable) { return __awaiter(_this_1, void 0, void 0, function () {
|
269
293
|
var _a, volumn, src, _b, type, sound;
|
270
294
|
return __generator(this, function (_c) {
|
271
295
|
switch (_c.label) {
|
@@ -294,14 +318,14 @@ var Scene = /** @class */ (function () {
|
|
294
318
|
}
|
295
319
|
return __awaiter(this, void 0, void 0, function () {
|
296
320
|
var spritesDecor;
|
297
|
-
var
|
321
|
+
var _this_1 = this;
|
298
322
|
return __generator(this, function (_a) {
|
299
323
|
switch (_a.label) {
|
300
324
|
case 0:
|
301
325
|
spritesDecor = this.spritesDecor.filter(function (decor) { return !decor.src; });
|
302
326
|
return [4 /*yield*/, parallel(srcs, function (src, _a) {
|
303
327
|
var realIndex = _a.realIndex;
|
304
|
-
return __awaiter(
|
328
|
+
return __awaiter(_this_1, void 0, void 0, function () {
|
305
329
|
var decor, sprite;
|
306
330
|
return __generator(this, function (_b) {
|
307
331
|
switch (_b.label) {
|
@@ -333,14 +357,14 @@ var Scene = /** @class */ (function () {
|
|
333
357
|
}
|
334
358
|
return __awaiter(this, void 0, void 0, function () {
|
335
359
|
var soundsDecor;
|
336
|
-
var
|
360
|
+
var _this_1 = this;
|
337
361
|
return __generator(this, function (_a) {
|
338
362
|
switch (_a.label) {
|
339
363
|
case 0:
|
340
364
|
soundsDecor = this.soundsDecor.filter(function (decor) { return !decor.src; });
|
341
365
|
return [4 /*yield*/, parallel(srcs, function (src, _a) {
|
342
366
|
var realIndex = _a.realIndex;
|
343
|
-
return __awaiter(
|
367
|
+
return __awaiter(_this_1, void 0, void 0, function () {
|
344
368
|
var decor, sound;
|
345
369
|
return __generator(this, function (_b) {
|
346
370
|
switch (_b.label) {
|
@@ -405,7 +429,18 @@ var Scene = /** @class */ (function () {
|
|
405
429
|
Scene.prototype.getPrefab = function (Class) {
|
406
430
|
return this.prefabs.find(function (pf) { return pf instanceof Class; });
|
407
431
|
};
|
432
|
+
Scene.prototype.listenNativeEvents = function () {
|
433
|
+
var _this = this;
|
434
|
+
function onVisibilitychange() {
|
435
|
+
_this.emitProcessStateChangeListener(window.Renderer.isForeground);
|
436
|
+
}
|
437
|
+
window.document.addEventListener("visibilitychange", onVisibilitychange);
|
438
|
+
this.nativeEventsUnsubscribes = function () {
|
439
|
+
window.document.removeEventListener("visibilitychange", onVisibilitychange);
|
440
|
+
};
|
441
|
+
};
|
408
442
|
Scene.prototype.bootstrap = function (camera) {
|
443
|
+
this.listenNativeEvents();
|
409
444
|
this.bootSoundOptions();
|
410
445
|
this.worldManagement = new WorldManagement(camera, this);
|
411
446
|
var components = this.getComponents(camera);
|
@@ -426,7 +461,7 @@ var Scene = /** @class */ (function () {
|
|
426
461
|
Scene.prototype.onDraw = function () { };
|
427
462
|
Scene.prototype.onUpdate = function () { };
|
428
463
|
Scene.prototype.action = function () {
|
429
|
-
if (Renderer.running) {
|
464
|
+
if (Renderer.running && Renderer.isForeground) {
|
430
465
|
this.onUpdate();
|
431
466
|
this.worldManagement.update();
|
432
467
|
}
|
@@ -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":"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"}
|