pixi-rainman-game-engine 0.2.19 → 0.2.20
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/ComponentRegistry/ComponentRegistry.js +1 -1
- package/dist/Rainman/Rainman.js +1 -1
- package/dist/application/ApiConfig/ApiConfig.js +1 -1
- package/dist/application/ButtonsEventManager/ButtonsEventManager.js +1 -1
- package/dist/application/SoundManager/SoundManager.js +3 -3
- package/dist/application/SpinLogic/SpinLogicDTO.js +1 -1
- package/dist/application/SpinLogic/WinScenarios.d.ts +0 -2
- package/dist/application/SpinLogic/WinScenarios.js +0 -2
- package/dist/components/AbstractMainContainer/AbstractMainContainer.d.ts +3 -4
- package/dist/components/AbstractMainContainer/AbstractMainContainer.js +1 -2
- package/dist/components/GambleGame/GambleGame.js +1 -1
- package/dist/components/buttons/buttonGroups/LeftButtons.js +1 -1
- package/dist/components/buttons/buttonGroups/MiddleButtons.js +1 -1
- package/dist/components/buttons/buttonGroups/RightButtons.js +2 -2
- package/dist/components/buttons/buttonGroups/RightButtonsLandscape.js +2 -2
- package/dist/components/buttons/default/AutoplayButton.js +3 -3
- package/dist/components/buttons/default/BlackButton.js +1 -1
- package/dist/components/buttons/default/CollectButton.js +1 -1
- package/dist/components/buttons/default/InfoButton.js +2 -2
- package/dist/components/buttons/default/MoreButton.js +2 -2
- package/dist/components/buttons/default/NegButton.js +1 -1
- package/dist/components/buttons/default/PlusButton.js +2 -2
- package/dist/components/buttons/default/RedButton.js +1 -1
- package/dist/components/buttons/default/RefreshButton.js +4 -4
- package/dist/components/buttons/default/SpeedControlButton.js +2 -2
- package/dist/components/buttons/default/SpinConfirmationButton.js +1 -1
- package/dist/components/buttons/default/VolumeButton.js +2 -2
- package/dist/components/frame/AbstractColumnsContainer.js +1 -1
- package/dist/components/frame/AbstractFrame.js +3 -3
- package/dist/components/frame/WinLineAnimation.js +1 -1
- package/dist/components/messageBox/MessageBox.js +3 -3
- package/dist/components/symbols/AbstractSymbolsColumn.js +3 -3
- package/dist/components/updatable/UpdatableTextComponent.js +1 -1
- package/dist/components/updatable/UpdatableValueComponent.js +1 -1
- package/dist/connectivity/ConnectionWrapper.js +6 -6
- package/dist/connectivity/LocalConnectionWrapper.js +2 -2
- package/dist/controllers/AbstractController.js +11 -9
- package/dist/loading/SpriteLoadingContainer.js +1 -1
- package/dist/localStorage/localStorage.js +1 -1
- package/dist/stores/SettingsStore.d.ts +6 -1
- package/dist/stores/SettingsStore.js +13 -5
- package/dist/winComponents/BaseWinContainer.d.ts +48 -0
- package/dist/winComponents/BaseWinContainer.js +133 -0
- package/dist/winComponents/BigWinContainer.d.ts +15 -0
- package/dist/winComponents/BigWinContainer.js +12 -0
- package/dist/winComponents/MysteryWinContainer.d.ts +7 -24
- package/dist/winComponents/MysteryWinContainer.js +4 -126
- package/dist/winComponents/TexturedText.d.ts +2 -1
- package/dist/winComponents/TexturedText.js +7 -2
- package/dist/winComponents/index.d.ts +1 -0
- package/dist/winComponents/index.js +1 -0
- package/dist/winComponents/winFactory.d.ts +6 -9
- package/dist/winComponents/winFactory.js +38 -13
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isIncentiveComponentInterface, isSpeedAdapterInterface, SpeedLevelHandler, TimedIncentiveController
|
|
1
|
+
import { isIncentiveComponentInterface, isSpeedAdapterInterface, SpeedLevelHandler, TimedIncentiveController } from "../application";
|
|
2
2
|
import { SpeedControlButton } from "../components";
|
|
3
3
|
import { RainMan } from "../Rainman";
|
|
4
4
|
import { openFullscreen } from "../utils";
|
package/dist/Rainman/Rainman.js
CHANGED
|
@@ -49,7 +49,7 @@ export class ApiConfig {
|
|
|
49
49
|
symbolsOnReels: blindsConfiguredByResponse,
|
|
50
50
|
finalBlindsConfiguration: finalSpinPositionOnReels,
|
|
51
51
|
winAmountTotal: spinLogicResponse.win_amount_total,
|
|
52
|
-
extraData: spinLogicResponse.extra_data || {}
|
|
52
|
+
extraData: spinLogicResponse.extra_data || {}
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import i18n from "i18next";
|
|
2
2
|
import { sample } from "lodash";
|
|
3
3
|
import { SoundManager } from "../../application";
|
|
4
|
-
import { AutoplayButton, Background, BUTTONS, COMPONENTS, FreeSpinButton, MessageBox, SpeedControlButton, VolumeButton
|
|
4
|
+
import { AutoplayButton, Background, BUTTONS, COMPONENTS, FreeSpinButton, MessageBox, SpeedControlButton, VolumeButton } from "../../components";
|
|
5
5
|
import { RainMan } from "../../Rainman";
|
|
6
6
|
import { allUiItems, hideLayerIfPresent, UI_ITEMS, wait } from "../../utils";
|
|
7
7
|
import { SPEED_LEVELS } from "../SpeedState";
|
|
@@ -21,7 +21,7 @@ export class SoundManagerInstance {
|
|
|
21
21
|
speedLevelMapper = {
|
|
22
22
|
fast: {},
|
|
23
23
|
normal: {},
|
|
24
|
-
slow: {}
|
|
24
|
+
slow: {}
|
|
25
25
|
};
|
|
26
26
|
musicCatalogue = new Map();
|
|
27
27
|
constructor() {
|
|
@@ -41,7 +41,7 @@ export class SoundManagerInstance {
|
|
|
41
41
|
url,
|
|
42
42
|
autoPlay: false,
|
|
43
43
|
preload: true,
|
|
44
|
-
loaded: () => resolve()
|
|
44
|
+
loaded: () => resolve()
|
|
45
45
|
});
|
|
46
46
|
sound.name = soundName;
|
|
47
47
|
this.musicCatalogue.set(soundName, sound);
|
|
@@ -99,7 +99,7 @@ export class SoundManagerInstance {
|
|
|
99
99
|
sound.play({
|
|
100
100
|
loop: soundsToLoop.includes(soundName),
|
|
101
101
|
singleInstance: true,
|
|
102
|
-
volume: soundName === "music" ? 0.5 : 1
|
|
102
|
+
volume: soundName === "music" ? 0.5 : 1
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
@@ -74,7 +74,7 @@ export class SpinLogicDTO {
|
|
|
74
74
|
quantity: singleWin.quantity,
|
|
75
75
|
multiplier: singleWin.multiplier,
|
|
76
76
|
winIndex: singleWin.winIndex,
|
|
77
|
-
typeId: singleWin.typeId
|
|
77
|
+
typeId: singleWin.typeId
|
|
78
78
|
};
|
|
79
79
|
if (rawWin.type === PossibleWins.freeSpins) {
|
|
80
80
|
const remainingFreeSpins = Math.max(RainMan.settingsStore.howManyFreeSpinsLeft - 1, 0);
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { TransformationDetails, Win } from "../../connectivity";
|
|
2
2
|
/**
|
|
3
3
|
* This class represents win and transformation scenarios described in {@link transformationTypes} and {@link PossibleWins}
|
|
4
|
-
*
|
|
5
|
-
* {WinScenarios}
|
|
6
4
|
*/
|
|
7
5
|
export declare class WinScenarios {
|
|
8
6
|
private readonly _wins;
|
|
@@ -3,7 +3,7 @@ import { ButtonsEventManager } from "../../application";
|
|
|
3
3
|
import { AbstractController } from "../../controllers";
|
|
4
4
|
import { RainMan } from "../../Rainman";
|
|
5
5
|
import { Nullable } from "../../utils";
|
|
6
|
-
import { MysteryWinContainer, UpdatableSpineContainer } from "../../winComponents";
|
|
6
|
+
import { BigWinContainer, MysteryWinContainer, UpdatableSpineContainer } from "../../winComponents";
|
|
7
7
|
import { AbstractFreeSpinContainer } from "../AbstractFreeSpinContainer";
|
|
8
8
|
import { LeftButtons, LeftButtonsLandscape, LeftButtonsMobile, MiddleButtons, RightButtons, RightButtonsLandscape, RightButtonsMobile } from "../buttons";
|
|
9
9
|
import { FreeSpinButton, Logo, ResponsiveContainer } from "../common";
|
|
@@ -32,7 +32,7 @@ import { MessageBox } from "../messageBox";
|
|
|
32
32
|
export declare abstract class AbstractMainContainer extends Container {
|
|
33
33
|
static readonly registryName = "mainContainer";
|
|
34
34
|
messageBox: MessageBox;
|
|
35
|
-
protected bigWinContainer: Nullable<UpdatableSpineContainer
|
|
35
|
+
protected bigWinContainer: Nullable<UpdatableSpineContainer> | BigWinContainer;
|
|
36
36
|
protected mysteryWinContainer: Nullable<UpdatableSpineContainer> | MysteryWinContainer;
|
|
37
37
|
protected bonusWinContainer: Nullable<UpdatableSpineContainer>;
|
|
38
38
|
protected superBonusWinContainer: Nullable<UpdatableSpineContainer>;
|
|
@@ -130,7 +130,7 @@ export declare abstract class AbstractMainContainer extends Container {
|
|
|
130
130
|
get mysteryWinVisibleFor(): number;
|
|
131
131
|
get bonusWinVisibleFor(): number;
|
|
132
132
|
get superBonusWinVisibleFor(): number;
|
|
133
|
-
protected abstract createBigWinContainer(): UpdatableSpineContainer;
|
|
133
|
+
protected abstract createBigWinContainer(): UpdatableSpineContainer | MysteryWinContainer;
|
|
134
134
|
/**
|
|
135
135
|
* Function for invoking big win animation, using `this.createBigWinContainer()` abstract function.
|
|
136
136
|
*
|
|
@@ -143,7 +143,6 @@ export declare abstract class AbstractMainContainer extends Container {
|
|
|
143
143
|
invokeSuperBonusWin(): void;
|
|
144
144
|
/**
|
|
145
145
|
* Function for invoking big win animation, using `this.createBonusWinContainer()` abstract function.
|
|
146
|
-
*
|
|
147
146
|
*/
|
|
148
147
|
invokeBonusWin(): void;
|
|
149
148
|
invokeMysteryWin(): void;
|
|
@@ -3,7 +3,7 @@ import { ButtonsEventManager, SoundManager, SoundTracks } from "../../applicatio
|
|
|
3
3
|
import { AnimationLayer, BackgroundLayer, FrameLayer, UXLayer } from "../../layers";
|
|
4
4
|
import { RainMan } from "../../Rainman";
|
|
5
5
|
import { getDeviceOrientation, globalMinRatio } from "../../utils";
|
|
6
|
-
import { BUTTONS, LeftButtons, LeftButtonsLandscape, LeftButtonsMobile, MiddleButtons, RefreshButton, RightButtons, RightButtonsLandscape, RightButtonsMobile
|
|
6
|
+
import { BUTTONS, LeftButtons, LeftButtonsLandscape, LeftButtonsMobile, MiddleButtons, RefreshButton, RightButtons, RightButtonsLandscape, RightButtonsMobile } from "../buttons";
|
|
7
7
|
import { GambleGame } from "../GambleGame";
|
|
8
8
|
import { MessageBox } from "../messageBox";
|
|
9
9
|
/**
|
|
@@ -255,7 +255,6 @@ export class AbstractMainContainer extends Container {
|
|
|
255
255
|
}
|
|
256
256
|
/**
|
|
257
257
|
* Function for invoking big win animation, using `this.createBonusWinContainer()` abstract function.
|
|
258
|
-
*
|
|
259
258
|
*/
|
|
260
259
|
invokeBonusWin() {
|
|
261
260
|
if (this.bonusWinContainer !== null) {
|
|
@@ -27,7 +27,7 @@ export class RightButtons extends ResponsiveContainer {
|
|
|
27
27
|
this.plusButton,
|
|
28
28
|
this.refreshButton,
|
|
29
29
|
this.speedControlButton,
|
|
30
|
-
this.autoplayButton
|
|
30
|
+
this.autoplayButton
|
|
31
31
|
]);
|
|
32
32
|
this.resize();
|
|
33
33
|
}
|
|
@@ -37,7 +37,7 @@ export class RightButtons extends ResponsiveContainer {
|
|
|
37
37
|
this.negButton,
|
|
38
38
|
this.plusButton,
|
|
39
39
|
this.refreshButton,
|
|
40
|
-
this.speedControlButton
|
|
40
|
+
this.speedControlButton
|
|
41
41
|
]);
|
|
42
42
|
}
|
|
43
43
|
reposition() {
|
|
@@ -30,7 +30,7 @@ export class RightButtonsLandscape extends ResponsiveContainer {
|
|
|
30
30
|
this.volumeButton,
|
|
31
31
|
this.infoButton,
|
|
32
32
|
this.negButton,
|
|
33
|
-
this.speedControlButton
|
|
33
|
+
this.speedControlButton
|
|
34
34
|
]);
|
|
35
35
|
this.resize();
|
|
36
36
|
}
|
|
@@ -40,7 +40,7 @@ export class RightButtonsLandscape extends ResponsiveContainer {
|
|
|
40
40
|
this.volumeButton,
|
|
41
41
|
this.infoButton,
|
|
42
42
|
this.negButton,
|
|
43
|
-
this.speedControlButton
|
|
43
|
+
this.speedControlButton
|
|
44
44
|
]);
|
|
45
45
|
}
|
|
46
46
|
reposition() {
|
|
@@ -25,7 +25,7 @@ export class AutoplayButton extends BaseButton {
|
|
|
25
25
|
[ButtonStates.NORMAL]: getTexture("mobile/autoplay.png"),
|
|
26
26
|
[ButtonStates.CLICKED]: getTexture("mobile/clicked/autoplay.png"),
|
|
27
27
|
[ButtonStates.ACTIVE]: getTextureSafely("mobile/autoplay-on.png"),
|
|
28
|
-
[ButtonStates.ACTIVE_CLICKED]: getTextureSafely("mobile/clicked/autoplay-on.png")
|
|
28
|
+
[ButtonStates.ACTIVE_CLICKED]: getTextureSafely("mobile/clicked/autoplay-on.png")
|
|
29
29
|
}
|
|
30
30
|
: {
|
|
31
31
|
[ButtonStates.NORMAL]: getTexture("normal/autoplay.png"),
|
|
@@ -33,7 +33,7 @@ export class AutoplayButton extends BaseButton {
|
|
|
33
33
|
[ButtonStates.CLICKED]: getTexture("clicked/autoplay.png"),
|
|
34
34
|
[ButtonStates.ACTIVE]: getTexture("normal/autoplay-on.png"),
|
|
35
35
|
[ButtonStates.ACTIVE_OVER]: getTexture("hover/autoplay-on.png"),
|
|
36
|
-
[ButtonStates.ACTIVE_CLICKED]: getTexture("clicked/autoplay-on.png")
|
|
36
|
+
[ButtonStates.ACTIVE_CLICKED]: getTexture("clicked/autoplay-on.png")
|
|
37
37
|
};
|
|
38
38
|
super(AutoplayButton.registryName, textureMap);
|
|
39
39
|
this.mobile = mobile;
|
|
@@ -47,7 +47,7 @@ export class AutoplayButton extends BaseButton {
|
|
|
47
47
|
state === ButtonStates.ACTIVE_OVER ||
|
|
48
48
|
state === ButtonStates.ACTIVE_CLICKED) {
|
|
49
49
|
this.filters = [
|
|
50
|
-
new GlowFilter({ distance: 20, outerStrength: 2, color: RainMan.config.autoplayGlowColor })
|
|
50
|
+
new GlowFilter({ distance: 20, outerStrength: 2, color: RainMan.config.autoplayGlowColor })
|
|
51
51
|
];
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
@@ -14,7 +14,7 @@ export class BlackButton extends BaseButton {
|
|
|
14
14
|
const textureMap = {
|
|
15
15
|
[ButtonStates.NORMAL]: Texture.from("black-n.png"),
|
|
16
16
|
[ButtonStates.CLICKED]: Texture.from("black-c.png"),
|
|
17
|
-
[ButtonStates.OVER]: Texture.from("black-h.png")
|
|
17
|
+
[ButtonStates.OVER]: Texture.from("black-h.png")
|
|
18
18
|
};
|
|
19
19
|
super(BlackButton.registryName, textureMap);
|
|
20
20
|
}
|
|
@@ -15,7 +15,7 @@ export class CollectButton extends BaseButton {
|
|
|
15
15
|
const textureMap = {
|
|
16
16
|
[ButtonStates.NORMAL]: Texture.from("collect-button-n.png"),
|
|
17
17
|
[ButtonStates.CLICKED]: Texture.from("collect-button-c.png"),
|
|
18
|
-
[ButtonStates.OVER]: Texture.from("collect-button-h.png")
|
|
18
|
+
[ButtonStates.OVER]: Texture.from("collect-button-h.png")
|
|
19
19
|
};
|
|
20
20
|
super(CollectButton.registryName, textureMap);
|
|
21
21
|
}
|
|
@@ -17,12 +17,12 @@ export class InfoButton extends BaseButton {
|
|
|
17
17
|
const textureMap = mobile
|
|
18
18
|
? {
|
|
19
19
|
[ButtonStates.NORMAL]: getTexture("mobile/info.png"),
|
|
20
|
-
[ButtonStates.CLICKED]: getTexture("mobile/clicked/info.png")
|
|
20
|
+
[ButtonStates.CLICKED]: getTexture("mobile/clicked/info.png")
|
|
21
21
|
}
|
|
22
22
|
: {
|
|
23
23
|
[ButtonStates.NORMAL]: getTexture("normal/info.png"),
|
|
24
24
|
[ButtonStates.OVER]: getTexture("hover/info.png"),
|
|
25
|
-
[ButtonStates.CLICKED]: getTexture("clicked/info.png")
|
|
25
|
+
[ButtonStates.CLICKED]: getTexture("clicked/info.png")
|
|
26
26
|
};
|
|
27
27
|
super(InfoButton.registryName, textureMap);
|
|
28
28
|
}
|
|
@@ -17,12 +17,12 @@ export class MoreButton extends BaseButton {
|
|
|
17
17
|
const textureMap = mobile
|
|
18
18
|
? {
|
|
19
19
|
[ButtonStates.NORMAL]: getTexture("mobile/menu.png"),
|
|
20
|
-
[ButtonStates.CLICKED]: getTexture("mobile/clicked/menu.png")
|
|
20
|
+
[ButtonStates.CLICKED]: getTexture("mobile/clicked/menu.png")
|
|
21
21
|
}
|
|
22
22
|
: {
|
|
23
23
|
[ButtonStates.NORMAL]: getTexture("normal/menu.png"),
|
|
24
24
|
[ButtonStates.OVER]: getTexture("hover/menu.png"),
|
|
25
|
-
[ButtonStates.CLICKED]: getTexture("clicked/menu.png")
|
|
25
|
+
[ButtonStates.CLICKED]: getTexture("clicked/menu.png")
|
|
26
26
|
};
|
|
27
27
|
super(MoreButton.registryName, textureMap);
|
|
28
28
|
}
|
|
@@ -16,7 +16,7 @@ export class NegButton extends BaseButton {
|
|
|
16
16
|
const textureMap = {
|
|
17
17
|
[ButtonStates.NORMAL]: getTexture("normal/minus.png"),
|
|
18
18
|
[ButtonStates.OVER]: getTexture("hover/minus.png"),
|
|
19
|
-
[ButtonStates.CLICKED]: getTexture("clicked/minus.png")
|
|
19
|
+
[ButtonStates.CLICKED]: getTexture("clicked/minus.png")
|
|
20
20
|
};
|
|
21
21
|
super(NegButton.registryName, textureMap);
|
|
22
22
|
this.clickSound = SoundTracks.reductionRate;
|
|
@@ -18,12 +18,12 @@ export class PlusButton extends BaseButton {
|
|
|
18
18
|
const textureMap = mobile
|
|
19
19
|
? {
|
|
20
20
|
[ButtonStates.NORMAL]: getTexture("mobile/bet.png"),
|
|
21
|
-
[ButtonStates.CLICKED]: getTexture("mobile/clicked/bet.png")
|
|
21
|
+
[ButtonStates.CLICKED]: getTexture("mobile/clicked/bet.png")
|
|
22
22
|
}
|
|
23
23
|
: {
|
|
24
24
|
[ButtonStates.NORMAL]: getTexture("normal/plus.png"),
|
|
25
25
|
[ButtonStates.OVER]: getTexture("hover/plus.png"),
|
|
26
|
-
[ButtonStates.CLICKED]: getTexture("clicked/plus.png")
|
|
26
|
+
[ButtonStates.CLICKED]: getTexture("clicked/plus.png")
|
|
27
27
|
};
|
|
28
28
|
super(PlusButton.registryName, textureMap);
|
|
29
29
|
this.clickSound = SoundTracks.increaseRate;
|
|
@@ -15,7 +15,7 @@ export class RedButton extends BaseButton {
|
|
|
15
15
|
const textureMap = {
|
|
16
16
|
[ButtonStates.NORMAL]: Texture.from("red-n.png"),
|
|
17
17
|
[ButtonStates.CLICKED]: Texture.from("red-c.png"),
|
|
18
|
-
[ButtonStates.OVER]: Texture.from("red-h.png")
|
|
18
|
+
[ButtonStates.OVER]: Texture.from("red-h.png")
|
|
19
19
|
};
|
|
20
20
|
super(RedButton.registryName, textureMap);
|
|
21
21
|
}
|
|
@@ -33,7 +33,7 @@ export class RefreshButton extends BaseButton {
|
|
|
33
33
|
[ButtonStates.NORMAL]: getTexture("mobile/refresh.png"),
|
|
34
34
|
[ButtonStates.CLICKED]: getTexture("mobile/clicked/refresh.png"),
|
|
35
35
|
[ButtonStates.ACTIVE]: getTexture("mobile/stop.png"),
|
|
36
|
-
[ButtonStates.ACTIVE_CLICKED]: getTexture("mobile/clicked/stop.png")
|
|
36
|
+
[ButtonStates.ACTIVE_CLICKED]: getTexture("mobile/clicked/stop.png")
|
|
37
37
|
}
|
|
38
38
|
: {
|
|
39
39
|
[ButtonStates.NORMAL]: getTexture("normal/auto-start.png"),
|
|
@@ -41,7 +41,7 @@ export class RefreshButton extends BaseButton {
|
|
|
41
41
|
[ButtonStates.CLICKED]: getTexture("clicked/auto-start.png"),
|
|
42
42
|
[ButtonStates.ACTIVE]: getTextureSafely("normal/auto-start-on.png"),
|
|
43
43
|
[ButtonStates.ACTIVE_OVER]: getTextureSafely("hover/auto-start-on.png"),
|
|
44
|
-
[ButtonStates.ACTIVE_CLICKED]: getTextureSafely("clicked/auto-start-on.png")
|
|
44
|
+
[ButtonStates.ACTIVE_CLICKED]: getTextureSafely("clicked/auto-start-on.png")
|
|
45
45
|
};
|
|
46
46
|
super(RefreshButton.registryName, textureMap);
|
|
47
47
|
this.name = RefreshButton.registryName;
|
|
@@ -72,7 +72,7 @@ export class RefreshButton extends BaseButton {
|
|
|
72
72
|
initIncentiveAction(incentiveJobFlag, afterAllDoneCallback) {
|
|
73
73
|
const fullRotation = (2 * (360 * Math.PI)) / 180;
|
|
74
74
|
this.spinTween = new TWEEN.Tween({
|
|
75
|
-
rotation: this.arrowsSprite ? this.arrowsSprite.rotation : this.rotation
|
|
75
|
+
rotation: this.arrowsSprite ? this.arrowsSprite.rotation : this.rotation
|
|
76
76
|
})
|
|
77
77
|
.onUpdate(({ rotation }) => {
|
|
78
78
|
if (this.arrowsSprite)
|
|
@@ -81,7 +81,7 @@ export class RefreshButton extends BaseButton {
|
|
|
81
81
|
this.rotation = rotation;
|
|
82
82
|
})
|
|
83
83
|
.to({
|
|
84
|
-
rotation: fullRotation
|
|
84
|
+
rotation: fullRotation
|
|
85
85
|
}, 3000)
|
|
86
86
|
.easing(TWEEN.Easing.Back.InOut)
|
|
87
87
|
.start()
|
|
@@ -4,7 +4,7 @@ const createTextureMap = (speedLevel) => {
|
|
|
4
4
|
return {
|
|
5
5
|
[ButtonStates.NORMAL]: getTexture(`normal/speed-${speedLevel}.png`),
|
|
6
6
|
[ButtonStates.OVER]: getTexture(`hover/speed-${speedLevel}.png`),
|
|
7
|
-
[ButtonStates.CLICKED]: getTexture(`clicked/speed-${speedLevel}.png`)
|
|
7
|
+
[ButtonStates.CLICKED]: getTexture(`clicked/speed-${speedLevel}.png`)
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
@@ -23,7 +23,7 @@ export class SpeedControlButton extends BaseButton {
|
|
|
23
23
|
this.speedLevelMapper = {
|
|
24
24
|
slow: createTextureMap("turtle"),
|
|
25
25
|
normal: createTextureMap("rabbit"),
|
|
26
|
-
fast: createTextureMap("cheetah")
|
|
26
|
+
fast: createTextureMap("cheetah")
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
@@ -14,7 +14,7 @@ export class SpinConfirmationButton extends BaseButton {
|
|
|
14
14
|
const textureMap = {
|
|
15
15
|
[ButtonStates.NORMAL]: getTexture("freeSpin_confirm_normal.png"),
|
|
16
16
|
[ButtonStates.OVER]: getTexture("freeSpin_confirm_hover.png"),
|
|
17
|
-
[ButtonStates.CLICKED]: getTexture("freeSpin_confirm_clicked.png")
|
|
17
|
+
[ButtonStates.CLICKED]: getTexture("freeSpin_confirm_clicked.png")
|
|
18
18
|
};
|
|
19
19
|
super(SpinConfirmationButton.registryName, textureMap);
|
|
20
20
|
}
|
|
@@ -21,12 +21,12 @@ export class VolumeButton extends BaseButton {
|
|
|
21
21
|
const normalTextureMap = {
|
|
22
22
|
[ButtonStates.NORMAL]: getTexture("normal/sound.png"),
|
|
23
23
|
[ButtonStates.OVER]: getTexture("hover/sound.png"),
|
|
24
|
-
[ButtonStates.CLICKED]: getTexture("clicked/sound.png")
|
|
24
|
+
[ButtonStates.CLICKED]: getTexture("clicked/sound.png")
|
|
25
25
|
};
|
|
26
26
|
const muteTextureMap = {
|
|
27
27
|
[ButtonStates.NORMAL]: getTexture("mute.png"),
|
|
28
28
|
[ButtonStates.OVER]: getTexture("mute-h.png"),
|
|
29
|
-
[ButtonStates.CLICKED]: getTexture("mute-c.png")
|
|
29
|
+
[ButtonStates.CLICKED]: getTexture("mute-c.png")
|
|
30
30
|
};
|
|
31
31
|
super(VolumeButton.registryName, RainMan.settingsStore.isSoundEnabled() ? normalTextureMap : muteTextureMap);
|
|
32
32
|
this.normalTextureMap = normalTextureMap;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Container, Graphics, Ticker } from "pixi.js";
|
|
2
|
-
import { defaultSpeedConfig, SoundManager, SoundTracks, SPEED_LEVELS, spinSpeedLevels
|
|
2
|
+
import { defaultSpeedConfig, SoundManager, SoundTracks, SPEED_LEVELS, spinSpeedLevels } from "../../application";
|
|
3
3
|
import { FrameLayer } from "../../layers";
|
|
4
4
|
import { RainMan } from "../../Rainman";
|
|
5
5
|
import { Speed } from "../symbols";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Spine } from "pixi-spine";
|
|
2
|
-
import { defaultSpeedConfig, SoundManager, SoundTracks
|
|
2
|
+
import { defaultSpeedConfig, SoundManager, SoundTracks } from "../../application";
|
|
3
3
|
import { FrameLayer } from "../../layers";
|
|
4
4
|
import { RainMan } from "../../Rainman";
|
|
5
5
|
import { getDeviceOrientation, getSpineData, logError, scaleToParent } from "../../utils";
|
|
@@ -55,7 +55,7 @@ export class AbstractFrame extends ResumableContainer {
|
|
|
55
55
|
SoundManager.play(SoundTracks.mysteryFxLoop);
|
|
56
56
|
this.mysteryFxHighlight.state.setAnimation(0, this.mysteryFxConfig.startAnimationName || this.mysteryFxConfig.loopAnimationName, false);
|
|
57
57
|
this.mysteryFxHighlight.state.addListener({
|
|
58
|
-
complete: () => this.mysteryFxHighlight?.state.setAnimation(0, this.mysteryFxConfig.loopAnimationName, true)
|
|
58
|
+
complete: () => this.mysteryFxHighlight?.state.setAnimation(0, this.mysteryFxConfig.loopAnimationName, true)
|
|
59
59
|
});
|
|
60
60
|
this.addChild(this.mysteryFxHighlight);
|
|
61
61
|
}
|
|
@@ -136,7 +136,7 @@ export class AbstractFrame extends ResumableContainer {
|
|
|
136
136
|
this.changeFrameForOrientation();
|
|
137
137
|
const expectedScreenDimensions = {
|
|
138
138
|
width: this.transformedWidth(),
|
|
139
|
-
height: this.transformedHeight()
|
|
139
|
+
height: this.transformedHeight()
|
|
140
140
|
};
|
|
141
141
|
this.removeChild(this.innerFrame);
|
|
142
142
|
const dimensions = scaleToParent(this.width, this.height, expectedScreenDimensions.width, expectedScreenDimensions.height);
|
|
@@ -27,7 +27,7 @@ export class WinLineAnimation extends Spine {
|
|
|
27
27
|
this.state.timeScale = this.velocityMultiplier;
|
|
28
28
|
this.parentLayer = AnimationLayer;
|
|
29
29
|
this.state.addListener({
|
|
30
|
-
complete: () => this.resolvePlayingPromise()
|
|
30
|
+
complete: () => this.resolvePlayingPromise()
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
}
|
|
@@ -56,7 +56,7 @@ export class MessageBox extends Container {
|
|
|
56
56
|
fontSize,
|
|
57
57
|
fill: 0xffffff,
|
|
58
58
|
align: "center",
|
|
59
|
-
wordWrap: false
|
|
59
|
+
wordWrap: false
|
|
60
60
|
});
|
|
61
61
|
this.incentiveText.y = -25;
|
|
62
62
|
this.currentWinText.y = -25;
|
|
@@ -67,7 +67,7 @@ export class MessageBox extends Container {
|
|
|
67
67
|
this.currentWinText,
|
|
68
68
|
this.autoSpinText,
|
|
69
69
|
this.freeSpinText,
|
|
70
|
-
this.possibleWinText
|
|
70
|
+
this.possibleWinText
|
|
71
71
|
]);
|
|
72
72
|
}
|
|
73
73
|
updateIncentiveText(newText) {
|
|
@@ -192,7 +192,7 @@ export class MessageBox extends Container {
|
|
|
192
192
|
align: "center",
|
|
193
193
|
wordWrap: false,
|
|
194
194
|
padding: 5,
|
|
195
|
-
...winLineTextStyleOverrides
|
|
195
|
+
...winLineTextStyleOverrides
|
|
196
196
|
};
|
|
197
197
|
this.winLineIndicator = new WinLineIndicator(winLineTextStyle, getImageForSymbolId, message, symbolIds);
|
|
198
198
|
this.winLineIndicator.y = -this.currentWinText.y + this.winLineIndicator.height / 2;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as TWEEN from "@tweenjs/tween.js";
|
|
2
2
|
import { sample } from "lodash";
|
|
3
3
|
import { Container } from "pixi.js";
|
|
4
|
-
import { animationsSpeedLevels, defaultSpeedConfig, SoundManager, SoundTracks, SPEED_LEVELS
|
|
4
|
+
import { animationsSpeedLevels, defaultSpeedConfig, SoundManager, SoundTracks, SPEED_LEVELS } from "../../application";
|
|
5
5
|
import { FrameLayer } from "../../layers";
|
|
6
6
|
import { RainMan } from "../../Rainman";
|
|
7
7
|
import { getDeviceOrientation, logInfo } from "../../utils";
|
|
@@ -72,7 +72,7 @@ export class AbstractSymbolsColumn extends Container {
|
|
|
72
72
|
wiggleTweenDuration: RainMan.config.durationOfActions.wiggleTweenDuration /
|
|
73
73
|
(this.phase === Phase.BOUNCE ? this.previousVelocityMultiplier : this.velocityMultiplier),
|
|
74
74
|
symbolDropDownTime: RainMan.config.durationOfActions.symbolDropDownTime / this.velocityMultiplier,
|
|
75
|
-
timeToSetResults: RainMan.config.durationOfActions.timeToSetResults / this.velocityMultiplier
|
|
75
|
+
timeToSetResults: RainMan.config.durationOfActions.timeToSetResults / this.velocityMultiplier
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
adaptToSpeed(speedLevel) {
|
|
@@ -301,7 +301,7 @@ export class AbstractSymbolsColumn extends Container {
|
|
|
301
301
|
.easing(TWEEN.Easing.Bounce.Out)
|
|
302
302
|
.to({
|
|
303
303
|
y: firstSymbolToDrop.symbol.y +
|
|
304
|
-
this.tileHeight * droppableSymbolsInColumns.numberToBeDropped
|
|
304
|
+
this.tileHeight * droppableSymbolsInColumns.numberToBeDropped
|
|
305
305
|
}, this.componentsTimingSettings.symbolDropDownTime)
|
|
306
306
|
.onComplete(() => {
|
|
307
307
|
// when completed - sort symbols in array using their y position
|
|
@@ -21,7 +21,7 @@ export class UpdatableTextComponent extends UpdatableValueComponent {
|
|
|
21
21
|
fontSize,
|
|
22
22
|
fill: fontColor,
|
|
23
23
|
align: "center",
|
|
24
|
-
padding: 2
|
|
24
|
+
padding: 2
|
|
25
25
|
};
|
|
26
26
|
super(registryName, baseText, textStyle, { ...textStyle, fill: 0xffffff }, mode, updateCallback);
|
|
27
27
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import i18next from "i18next";
|
|
2
2
|
import { Currencies } from "ts-money";
|
|
3
3
|
import { ApiConfig } from "../application";
|
|
4
|
-
import { SpinData
|
|
4
|
+
import { SpinData } from "../connectivity";
|
|
5
5
|
import { RainMan } from "../Rainman";
|
|
6
6
|
import { logError, logInfo, logWarn } from "../utils";
|
|
7
7
|
const overrideMap = new Map();
|
|
@@ -79,10 +79,10 @@ export class ConnectionWrapper {
|
|
|
79
79
|
height: window.outerHeight,
|
|
80
80
|
width: window.outerWidth,
|
|
81
81
|
landscape: true,
|
|
82
|
-
matched_ratio: "16:9"
|
|
82
|
+
matched_ratio: "16:9"
|
|
83
83
|
},
|
|
84
84
|
language_code: i18next.language,
|
|
85
|
-
vendor_id: RainMan.config.gameInitVendorId
|
|
85
|
+
vendor_id: RainMan.config.gameInitVendorId
|
|
86
86
|
}));
|
|
87
87
|
RainMan.globals.currency = Currencies[this._initData.currency];
|
|
88
88
|
}
|
|
@@ -99,7 +99,7 @@ export class ConnectionWrapper {
|
|
|
99
99
|
free_spins_quantity: quantity,
|
|
100
100
|
free_spins_price: price,
|
|
101
101
|
token: this.config.token,
|
|
102
|
-
reference: RainMan.config.gameInitReference
|
|
102
|
+
reference: RainMan.config.gameInitReference
|
|
103
103
|
}));
|
|
104
104
|
return new SpinData(this.config, this.transformFreeSpinData(data));
|
|
105
105
|
}
|
|
@@ -123,7 +123,7 @@ export class ConnectionWrapper {
|
|
|
123
123
|
round_number: roundNumber,
|
|
124
124
|
token: this.config.token,
|
|
125
125
|
bet,
|
|
126
|
-
extra_data
|
|
126
|
+
extra_data
|
|
127
127
|
});
|
|
128
128
|
this._messageHistory.push(data);
|
|
129
129
|
return new SpinData(this.config, data);
|
|
@@ -138,7 +138,7 @@ export class ConnectionWrapper {
|
|
|
138
138
|
round_number: roundNumber,
|
|
139
139
|
token: this.config.token,
|
|
140
140
|
bet,
|
|
141
|
-
choice
|
|
141
|
+
choice
|
|
142
142
|
}));
|
|
143
143
|
return this.lastGambleResponse;
|
|
144
144
|
}
|
|
@@ -50,7 +50,7 @@ export class LocalConnectionWrapper {
|
|
|
50
50
|
[13, 15, 15],
|
|
51
51
|
[16, 16, 13],
|
|
52
52
|
[17, 13, 17],
|
|
53
|
-
[18, 18, 13]
|
|
53
|
+
[18, 18, 13]
|
|
54
54
|
],
|
|
55
55
|
round_number: roundNumber,
|
|
56
56
|
available_free_spins: quantity,
|
|
@@ -58,7 +58,7 @@ export class LocalConnectionWrapper {
|
|
|
58
58
|
results: [],
|
|
59
59
|
win_amount_total: 0,
|
|
60
60
|
wins: {},
|
|
61
|
-
extra_data: {}
|
|
61
|
+
extra_data: {}
|
|
62
62
|
};
|
|
63
63
|
return Promise.resolve(new SpinData(this.config, data));
|
|
64
64
|
}
|