pixi-rainman-game-engine 0.2.18 → 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.
Files changed (59) hide show
  1. package/dist/ComponentRegistry/ComponentRegistry.js +1 -1
  2. package/dist/Rainman/Rainman.js +1 -1
  3. package/dist/Rainman/appConfig.js +1 -0
  4. package/dist/Rainman/types.d.ts +1 -0
  5. package/dist/SettingsUI/components/CloseModalButton/index.d.ts +3 -1
  6. package/dist/SettingsUI/components/CloseModalButton/index.jsx +8 -2
  7. package/dist/application/ApiConfig/ApiConfig.js +1 -1
  8. package/dist/application/ButtonsEventManager/ButtonsEventManager.js +8 -2
  9. package/dist/application/SoundManager/SoundManager.js +3 -3
  10. package/dist/application/SpinLogic/SpinLogicDTO.js +1 -1
  11. package/dist/application/SpinLogic/WinScenarios.d.ts +0 -2
  12. package/dist/application/SpinLogic/WinScenarios.js +0 -2
  13. package/dist/components/AbstractMainContainer/AbstractMainContainer.d.ts +5 -6
  14. package/dist/components/AbstractMainContainer/AbstractMainContainer.js +1 -2
  15. package/dist/components/GambleGame/GambleGame.js +1 -1
  16. package/dist/components/buttons/buttonGroups/LeftButtons.js +1 -1
  17. package/dist/components/buttons/buttonGroups/MiddleButtons.js +1 -1
  18. package/dist/components/buttons/buttonGroups/RightButtons.js +2 -2
  19. package/dist/components/buttons/buttonGroups/RightButtonsLandscape.js +2 -2
  20. package/dist/components/buttons/default/AutoplayButton.js +3 -3
  21. package/dist/components/buttons/default/BlackButton.js +1 -1
  22. package/dist/components/buttons/default/CollectButton.js +1 -1
  23. package/dist/components/buttons/default/InfoButton.js +2 -2
  24. package/dist/components/buttons/default/MoreButton.js +2 -2
  25. package/dist/components/buttons/default/NegButton.js +1 -1
  26. package/dist/components/buttons/default/PlusButton.js +2 -2
  27. package/dist/components/buttons/default/RedButton.js +1 -1
  28. package/dist/components/buttons/default/RefreshButton.js +4 -4
  29. package/dist/components/buttons/default/SpeedControlButton.js +2 -2
  30. package/dist/components/buttons/default/SpinConfirmationButton.js +1 -1
  31. package/dist/components/buttons/default/VolumeButton.js +2 -2
  32. package/dist/components/frame/AbstractColumnsContainer.js +1 -1
  33. package/dist/components/frame/AbstractFrame.js +3 -3
  34. package/dist/components/frame/WinLineAnimation.js +1 -1
  35. package/dist/components/messageBox/MessageBox.js +3 -3
  36. package/dist/components/symbols/AbstractSymbolsColumn.js +3 -3
  37. package/dist/components/updatable/UpdatableTextComponent.js +1 -1
  38. package/dist/components/updatable/UpdatableValueComponent.d.ts +1 -1
  39. package/dist/components/updatable/UpdatableValueComponent.js +1 -1
  40. package/dist/connectivity/ConnectionWrapper.js +6 -6
  41. package/dist/connectivity/LocalConnectionWrapper.js +2 -2
  42. package/dist/controllers/AbstractController.js +13 -11
  43. package/dist/loading/SpriteLoadingContainer.js +1 -1
  44. package/dist/localStorage/localStorage.js +1 -1
  45. package/dist/stores/SettingsStore.d.ts +7 -1
  46. package/dist/stores/SettingsStore.js +14 -5
  47. package/dist/winComponents/BaseWinContainer.d.ts +48 -0
  48. package/dist/winComponents/BaseWinContainer.js +133 -0
  49. package/dist/winComponents/BigWinContainer.d.ts +15 -0
  50. package/dist/winComponents/BigWinContainer.js +12 -0
  51. package/dist/winComponents/MysteryWinContainer.d.ts +15 -0
  52. package/dist/winComponents/MysteryWinContainer.js +12 -0
  53. package/dist/winComponents/TexturedText.d.ts +9 -0
  54. package/dist/winComponents/TexturedText.js +31 -0
  55. package/dist/winComponents/index.d.ts +2 -0
  56. package/dist/winComponents/index.js +2 -0
  57. package/dist/winComponents/winFactory.d.ts +26 -0
  58. package/dist/winComponents/winFactory.js +50 -2
  59. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { isIncentiveComponentInterface, isSpeedAdapterInterface, SpeedLevelHandler, TimedIncentiveController, } from "../application";
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";
@@ -29,7 +29,7 @@ export class RainMan {
29
29
  RainMan.componentRegistry = new ComponentRegistry(app);
30
30
  RainMan.globals = {
31
31
  shouldShowModals: false,
32
- currency: Currencies["USD"],
32
+ currency: Currencies["USD"]
33
33
  };
34
34
  }
35
35
  }
@@ -41,6 +41,7 @@ export const defaultAppConfig = {
41
41
  mysteryWinMinimumTime: 2000,
42
42
  bigWinMinimumTime: 2000,
43
43
  bigWinPhaseTimeout: 2800,
44
+ mysteryPhaseTimeout: 2800,
44
45
  bonusWinPhaseTimeout: 2800,
45
46
  bonusWinMinimumTime: 2000,
46
47
  superBonusWinMinimumTime: 2000,
@@ -48,6 +48,7 @@ export type OptionalAppConfig = {
48
48
  mysteryWinMinimumTime: number;
49
49
  bigWinMinimumTime: number;
50
50
  bigWinPhaseTimeout: number;
51
+ mysteryPhaseTimeout: number;
51
52
  bonusWinPhaseTimeout: number;
52
53
  bonusWinMinimumTime: number;
53
54
  superBonusWinPhaseTimeout: number;
@@ -4,4 +4,6 @@ export type CloseModalButtonProps = {
4
4
  layerId: string;
5
5
  afterClose?: () => void;
6
6
  };
7
- export declare const CloseModalButton: ({ layerId, afterClose }: CloseModalButtonProps) => JSX.Element;
7
+ export declare const CloseModalButton: (({ layerId, afterClose }: CloseModalButtonProps) => JSX.Element) & {
8
+ displayName: string;
9
+ };
@@ -1,17 +1,23 @@
1
1
  import "./closeModalButton.css";
2
+ import { observer } from "mobx-react-lite";
2
3
  import React from "react";
3
4
  import { UI_ITEMS } from "../../../utils";
4
5
  import { useStores } from "../../hooks";
5
- export const CloseModalButton = ({ layerId, afterClose }) => {
6
+ export const CloseModalButton = observer(({ layerId, afterClose }) => {
6
7
  const { settingStore } = useStores();
8
+ const { isFreeSpinsPlayEnabled, isFreeSpinsBought, betChangeDisabled } = settingStore;
9
+ const isBetDisabled = isFreeSpinsPlayEnabled || betChangeDisabled || isFreeSpinsBought;
7
10
  const onClose = () => {
8
11
  settingStore.handleModalInvocation?.(layerId);
9
12
  if (layerId === UI_ITEMS.speedSettings) {
10
13
  settingStore.setSpeedPopupVisibility?.("none");
11
14
  }
15
+ if (isBetDisabled) {
16
+ settingStore.enableButtons?.();
17
+ }
12
18
  afterClose?.();
13
19
  };
14
20
  return (<button className="close-modal-button" onClick={onClose}>
15
21
  x
16
22
  </button>);
17
- };
23
+ });
@@ -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, } from "../../components";
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";
@@ -44,7 +44,12 @@ export class ButtonsEventManager {
44
44
  * @returns {() => void} function for enabling/disabling buttons
45
45
  */
46
46
  setButtonAvailability = (makeDisabled) => () => {
47
- const buttonsToDisable = [SpeedControlButton.registryName, BUTTONS.neg, BUTTONS.plus];
47
+ const isDisabled = RainMan.settingsStore.isFreeSpinsPlayEnabled ||
48
+ RainMan.settingsStore.isFreeSpinsBought ||
49
+ RainMan.settingsStore.betChangeDisabled;
50
+ const buttonsToDisable = isDisabled
51
+ ? [SpeedControlButton.registryName]
52
+ : [SpeedControlButton.registryName, BUTTONS.neg, BUTTONS.plus];
48
53
  buttonsToDisable.forEach((buttonRegistryName) => RainMan.componentRegistry.get(buttonRegistryName).flipDisabledFlag(makeDisabled));
49
54
  RainMan.componentRegistry.get(VolumeButton.registryName).changeTextureDependOnVolume();
50
55
  };
@@ -53,6 +58,7 @@ export class ButtonsEventManager {
53
58
  constructor() {
54
59
  RainMan.settingsStore.handleModalInvocation = this.handleModalInvocation.bind(this);
55
60
  RainMan.settingsStore.setSpeedPopupVisibility = this.setSpeedPopupVisibility.bind(this);
61
+ RainMan.settingsStore.enableButtons = this.enableButtons.bind(this);
56
62
  }
57
63
  /**
58
64
  * Method for initializing events in Settings UI
@@ -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;
@@ -1,7 +1,5 @@
1
1
  /**
2
2
  * This class represents win and transformation scenarios described in {@link transformationTypes} and {@link PossibleWins}
3
- *
4
- * {WinScenarios}
5
3
  */
6
4
  export class WinScenarios {
7
5
  _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 { 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,8 +32,8 @@ 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>;
36
- protected mysteryWinContainer: Nullable<UpdatableSpineContainer>;
35
+ protected bigWinContainer: Nullable<UpdatableSpineContainer> | BigWinContainer;
36
+ protected mysteryWinContainer: Nullable<UpdatableSpineContainer> | MysteryWinContainer;
37
37
  protected bonusWinContainer: Nullable<UpdatableSpineContainer>;
38
38
  protected superBonusWinContainer: Nullable<UpdatableSpineContainer>;
39
39
  protected overlay: Nullable<Graphics>;
@@ -88,7 +88,7 @@ export declare abstract class AbstractMainContainer extends Container {
88
88
  * Function for creating mystery win container
89
89
  * @returns {Nullable<UpdatableSpineContainer>} The container for the mystery win animation, or null.
90
90
  */
91
- protected createMysteryWinContainer(): Nullable<UpdatableSpineContainer>;
91
+ protected createMysteryWinContainer(): Nullable<UpdatableSpineContainer> | MysteryWinContainer;
92
92
  /**
93
93
  * Function for specifying the container for the free spin summary
94
94
  * This needs to be implemented in each game
@@ -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, } from "../buttons";
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) {
@@ -117,7 +117,7 @@ export class GambleGame extends Container {
117
117
  this.loseDoubleAndWinFields(),
118
118
  setTimeout(() => {
119
119
  this.closeGame();
120
- }, 2000),
120
+ }, 2000)
121
121
  ]);
122
122
  }
123
123
  }
@@ -36,7 +36,7 @@ export class LeftButtons extends ResponsiveContainer {
36
36
  this.bet,
37
37
  this.volumeButton,
38
38
  this.moreButton,
39
- this.infoButton,
39
+ this.infoButton
40
40
  ]);
41
41
  }
42
42
  reposition() {
@@ -47,7 +47,7 @@ export class MiddleButtons extends ResponsiveContainer {
47
47
  this.refreshButton,
48
48
  this.autoplayButton,
49
49
  this.betButton,
50
- this.positioningFrame,
50
+ this.positioningFrame
51
51
  ]);
52
52
  }
53
53
  initChildPositions() {
@@ -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, } from "../../application";
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, } from "../../application";
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, } from "../../application";
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
  }
@@ -14,7 +14,7 @@ import { UpdatableMode } from "./types";
14
14
  export declare abstract class UpdatableValueComponent extends Container implements SpeedAdapterInterface<number> {
15
15
  private mode;
16
16
  private updateCallback?;
17
- private updatableValue;
17
+ protected updatableValue: number;
18
18
  protected finalValue: number;
19
19
  protected readonly baseTextComponent: Text;
20
20
  protected readonly valueTextComponent: Text;
@@ -28,7 +28,7 @@ export class UpdatableValueComponent extends Container {
28
28
  speedLevelMapper = {
29
29
  slow: 1,
30
30
  normal: 1.5,
31
- fast: 2,
31
+ fast: 2
32
32
  };
33
33
  constructor(registryName, baseText, baseTextStyle, valueTextStyle, mode, updateCallback) {
34
34
  super();