pixi-rainman-game-engine 0.1.51 → 0.1.53
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/dist/components/AbstractMainContainer/AbstractMainContainer.js +4 -1
- package/dist/components/buttons/registrynames.d.ts +1 -0
- package/dist/components/buttons/registrynames.js +1 -0
- package/dist/components/frame/AbstractColumnsContainer.d.ts +1 -0
- package/dist/components/frame/AbstractColumnsContainer.js +12 -4
- package/dist/components/symbols/AbstractSymbolsColumn.d.ts +2 -1
- package/dist/components/symbols/AbstractSymbolsColumn.js +3 -0
- package/dist/controllers/AbstractController.js +1 -1
- package/dist/utils/common/sound.js +1 -1
- package/package.json +1 -1
|
@@ -56,8 +56,11 @@ export class AbstractMainContainer extends Container {
|
|
|
56
56
|
this.name = AbstractMainContainer.registryName;
|
|
57
57
|
this.buttonsEventManager = new ButtonsEventManager();
|
|
58
58
|
this.messageBox = new MessageBox();
|
|
59
|
-
if (RainMan.settingsStore.isSoundEnabled())
|
|
59
|
+
if (RainMan.settingsStore.isSoundEnabled()) {
|
|
60
60
|
SoundManager.resumeAll();
|
|
61
|
+
if (RainMan.settingsStore.ambientMusicFlag)
|
|
62
|
+
SoundManager.play(SoundTracks.music);
|
|
63
|
+
}
|
|
61
64
|
RainMan.app.renderer.on("resize", () => this.resize());
|
|
62
65
|
}
|
|
63
66
|
/**
|
|
@@ -28,6 +28,7 @@ export declare const COMPONENTS: {
|
|
|
28
28
|
readonly creditText: "creditText";
|
|
29
29
|
readonly bigWin: "bigWinText";
|
|
30
30
|
readonly mysteryWin: "mysteryWinText";
|
|
31
|
+
readonly rouletteWin: "rouletteWinText";
|
|
31
32
|
readonly bonusWin: "bonusWinText";
|
|
32
33
|
readonly superBonusWin: "superBonusWinText";
|
|
33
34
|
readonly autoSpinConfirm: "autoSpin-confirm";
|
|
@@ -33,6 +33,7 @@ export declare abstract class AbstractColumnsContainer extends Container impleme
|
|
|
33
33
|
};
|
|
34
34
|
protected constructor();
|
|
35
35
|
protected init(): void;
|
|
36
|
+
resolveMysterySpeedUp(): void;
|
|
36
37
|
adaptToSpeed(speedLevel: SpeedLevel): void;
|
|
37
38
|
enableQuickReelsStop(): void;
|
|
38
39
|
clearQuickReelsStop(): void;
|
|
@@ -41,6 +41,13 @@ export class AbstractColumnsContainer extends Container {
|
|
|
41
41
|
Ticker.shared.add((delta) => this.animate(delta));
|
|
42
42
|
this.doResize();
|
|
43
43
|
}
|
|
44
|
+
resolveMysterySpeedUp() {
|
|
45
|
+
this.allColumns.forEach((column) => {
|
|
46
|
+
if (column.resolveMysterySpeedUp === null)
|
|
47
|
+
return;
|
|
48
|
+
column.resolveMysterySpeedUp();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
44
51
|
adaptToSpeed(speedLevel) {
|
|
45
52
|
this.velocityMultiplier = this.speedLevelMapper[speedLevel];
|
|
46
53
|
}
|
|
@@ -48,6 +55,7 @@ export class AbstractColumnsContainer extends Container {
|
|
|
48
55
|
RainMan.componentRegistry.setTemporarySpeedLevel(SPEED_LEVELS.fast);
|
|
49
56
|
this.quickReelsStop = true;
|
|
50
57
|
this.skipScatterDelay?.();
|
|
58
|
+
this.resolveMysterySpeedUp();
|
|
51
59
|
this.skipScatterDelay = null;
|
|
52
60
|
if (this.currentColumn)
|
|
53
61
|
this.currentColumn.skipHidingMysteryFx = true;
|
|
@@ -83,16 +91,16 @@ export class AbstractColumnsContainer extends Container {
|
|
|
83
91
|
break;
|
|
84
92
|
}
|
|
85
93
|
const configureSpinAction = configuredBlindSpinsActions.shift();
|
|
86
|
-
indexesOfReelsToExtendSpinningTime.forEach((number) => {
|
|
87
|
-
this.allColumns[number].changeMultiplier();
|
|
88
|
-
});
|
|
89
94
|
if (configureSpinAction !== undefined) {
|
|
90
95
|
if (indexesOfReelsToExtendSpinningTime.includes(index)) {
|
|
96
|
+
indexesOfReelsToExtendSpinningTime.forEach((number) => {
|
|
97
|
+
this.allColumns[number].changeMultiplier();
|
|
98
|
+
});
|
|
91
99
|
this.currentColumn = this.allColumns[index];
|
|
92
100
|
this.currentColumn.adaptToSpeed(RainMan.settingsStore.currentSpeed);
|
|
93
101
|
frame.invokeMysteryFx(this.currentColumn.x, this.currentColumn.y);
|
|
94
|
-
await this.currentColumn.speedUpForMysterySpin(100, 1500);
|
|
95
102
|
this.skipScatterDelay = configureSpinAction;
|
|
103
|
+
await this.currentColumn.speedUpForMysterySpin(100, 1500);
|
|
96
104
|
setTimeout(() => {
|
|
97
105
|
this.skipScatterDelay?.();
|
|
98
106
|
this.skipScatterDelay = null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Container } from "pixi.js";
|
|
2
2
|
import { SpeedAdapterInterface, SpeedLevel, SymbolId } from "../../application";
|
|
3
3
|
import { DropTransformationDetails, SymbolReel } from "../../connectivity";
|
|
4
|
-
import { Nullable } from "../../utils";
|
|
4
|
+
import { Nullable, VoidPromiseResolver } from "../../utils";
|
|
5
5
|
import { AbstractColumnsContainer, AbstractFrame } from "../frame";
|
|
6
6
|
import { AbstractSymbolBase } from "./AbstractSymbolBase";
|
|
7
7
|
import { AnimationTimeSettings } from "./types";
|
|
@@ -30,6 +30,7 @@ export declare abstract class AbstractSymbolsColumn extends Container implements
|
|
|
30
30
|
private lastEnding;
|
|
31
31
|
private tween;
|
|
32
32
|
private wiggleTween;
|
|
33
|
+
resolveMysterySpeedUp: Nullable<VoidPromiseResolver>;
|
|
33
34
|
private resolver;
|
|
34
35
|
private shouldMoveToTop;
|
|
35
36
|
private droppingTweens;
|
|
@@ -32,6 +32,7 @@ export class AbstractSymbolsColumn extends Container {
|
|
|
32
32
|
lastEnding = [];
|
|
33
33
|
tween;
|
|
34
34
|
wiggleTween = null;
|
|
35
|
+
resolveMysterySpeedUp = null;
|
|
35
36
|
resolver = null;
|
|
36
37
|
shouldMoveToTop = true;
|
|
37
38
|
droppingTweens;
|
|
@@ -84,6 +85,7 @@ export class AbstractSymbolsColumn extends Container {
|
|
|
84
85
|
}
|
|
85
86
|
async speedUpForMysterySpin(velocity, duration) {
|
|
86
87
|
await new Promise((resolve) => {
|
|
88
|
+
this.resolveMysterySpeedUp = resolve;
|
|
87
89
|
this.tween = new TWEEN.Tween({ velocity: velocity })
|
|
88
90
|
.to({ value: 70 }, duration)
|
|
89
91
|
.easing(TWEEN.Easing.Linear.None)
|
|
@@ -92,6 +94,7 @@ export class AbstractSymbolsColumn extends Container {
|
|
|
92
94
|
})
|
|
93
95
|
.onComplete(() => {
|
|
94
96
|
this.tween = null;
|
|
97
|
+
this.resolveMysterySpeedUp = null;
|
|
95
98
|
resolve();
|
|
96
99
|
})
|
|
97
100
|
.start();
|
|
@@ -635,7 +635,7 @@ export class AbstractController {
|
|
|
635
635
|
: freeSpinWins.at(0)?.freeSpinAward || 0;
|
|
636
636
|
const isAdditionalFreeSpins = RainMan.settingsStore.howManyFreeSpinsLeft - freeSpinAward > 0;
|
|
637
637
|
await this.handleFreeSpinPlateInvocation(freeSpinAward, isAdditionalFreeSpins);
|
|
638
|
-
this.uiController.
|
|
638
|
+
this.uiController.triggerUiElementsUpdate();
|
|
639
639
|
this.uiController.messageBox.showFreeSpinText();
|
|
640
640
|
}
|
|
641
641
|
if (this.invokeFreeSpinSummaryPlateAfterWin && !this.skipFreeSpinSummary) {
|
|
@@ -10,7 +10,7 @@ const resumeAudioContext = () => {
|
|
|
10
10
|
SoundManager.pauseAll();
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
|
-
if (
|
|
13
|
+
if (RainMan.settingsStore.isSoundEnabled() && !document.hidden) {
|
|
14
14
|
SoundManager.resumeAll();
|
|
15
15
|
return;
|
|
16
16
|
}
|
package/package.json
CHANGED