pixi-rainman-game-engine 0.2.2 → 0.2.4
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.d.ts +0 -17
- package/dist/ComponentRegistry/ComponentRegistry.js +0 -17
- package/dist/ComponentRegistry/types.d.ts +1 -1
- package/dist/Money/MoneyText.d.ts +0 -2
- package/dist/Money/MoneyText.js +0 -2
- package/dist/Rainman/Rainman.d.ts +0 -2
- package/dist/Rainman/Rainman.js +0 -2
- package/dist/Rainman/appConfig.d.ts +0 -1
- package/dist/Rainman/appConfig.js +1 -1
- package/dist/Rainman/types.d.ts +1 -0
- package/dist/application/ApiConfig/ApiConfig.d.ts +25 -43
- package/dist/application/ApiConfig/ApiConfig.js +25 -43
- package/dist/application/ApiConfig/SymbolId.d.ts +0 -5
- package/dist/application/ApiConfig/TransformationTypesId.d.ts +0 -4
- package/dist/application/ApiConfig/WinTypeId.d.ts +0 -4
- package/dist/application/ButtonsEventManager/ButtonsEventManager.d.ts +11 -32
- package/dist/application/ButtonsEventManager/ButtonsEventManager.js +11 -32
- package/dist/application/SoundManager/SoundManager.d.ts +8 -18
- package/dist/application/SoundManager/SoundManager.js +8 -18
- package/dist/application/SoundManager/types.d.ts +2 -4
- package/dist/application/SoundManager/types.js +1 -2
- package/dist/application/SpeedState/SpeedLevelHandler.d.ts +2 -8
- package/dist/application/SpeedState/SpeedLevelHandler.js +2 -8
- package/dist/application/SpinLogic/SpinLogic.d.ts +0 -2
- package/dist/application/SpinLogic/SpinLogic.js +0 -2
- package/dist/application/SpinLogic/SpinLogicDTO.d.ts +4 -9
- package/dist/application/SpinLogic/SpinLogicDTO.js +4 -9
- package/dist/application/SpinLogic/WinScenarios.d.ts +1 -1
- package/dist/application/SpinLogic/WinScenarios.js +1 -1
- package/dist/application/SpinLogic/util.d.ts +13 -18
- package/dist/application/SpinLogic/util.js +13 -20
- package/dist/components/AbstractFreeSpinContainer/AbstractFreeSpinContainer.d.ts +1 -3
- package/dist/components/AbstractFreeSpinContainer/AbstractFreeSpinContainer.js +1 -3
- package/dist/components/AbstractMainContainer/AbstractMainContainer.d.ts +19 -22
- package/dist/components/AbstractMainContainer/AbstractMainContainer.js +19 -22
- package/dist/components/GambleGame/GambleGame.d.ts +1 -3
- package/dist/components/GambleGame/GambleGame.js +1 -3
- package/dist/components/buttons/BaseButton/BaseButton.d.ts +1 -3
- package/dist/components/buttons/BaseButton/BaseButton.js +1 -3
- package/dist/components/buttons/BaseButton/ButtonState.d.ts +1 -1
- package/dist/components/buttons/BaseButton/ButtonState.js +1 -1
- package/dist/components/buttons/buttonGroups/LeftButtons.d.ts +1 -3
- package/dist/components/buttons/buttonGroups/LeftButtons.js +1 -3
- package/dist/components/buttons/buttonGroups/MiddleButtons.d.ts +0 -1
- package/dist/components/buttons/buttonGroups/MiddleButtons.js +0 -1
- package/dist/components/buttons/buttonGroups/RightButtons.d.ts +2 -3
- package/dist/components/buttons/buttonGroups/RightButtons.js +2 -3
- package/dist/components/buttons/buttonGroups/RightButtonsLandscape.d.ts +1 -1
- package/dist/components/buttons/buttonGroups/RightButtonsLandscape.js +1 -1
- package/dist/components/buttons/default/AutoplayButton.d.ts +2 -3
- package/dist/components/buttons/default/AutoplayButton.js +2 -3
- package/dist/components/buttons/default/BlackButton.d.ts +1 -2
- package/dist/components/buttons/default/BlackButton.js +1 -2
- package/dist/components/buttons/default/CollectButton.d.ts +2 -3
- package/dist/components/buttons/default/CollectButton.js +2 -3
- package/dist/components/buttons/default/InfoButton.d.ts +1 -1
- package/dist/components/buttons/default/InfoButton.js +1 -1
- package/dist/components/buttons/default/MoreButton.d.ts +1 -1
- package/dist/components/buttons/default/MoreButton.js +1 -1
- package/dist/components/buttons/default/NegButton.d.ts +1 -1
- package/dist/components/buttons/default/NegButton.js +1 -1
- package/dist/components/buttons/default/PlusButton.d.ts +1 -1
- package/dist/components/buttons/default/PlusButton.js +1 -1
- package/dist/components/buttons/default/RedButton.d.ts +1 -1
- package/dist/components/buttons/default/RedButton.js +1 -1
- package/dist/components/buttons/default/RefreshButton.d.ts +2 -1
- package/dist/components/buttons/default/RefreshButton.js +2 -1
- package/dist/components/buttons/default/SpeedControlButton.d.ts +1 -1
- package/dist/components/buttons/default/SpeedControlButton.js +1 -1
- package/dist/components/buttons/default/SpinConfirmationButton.d.ts +1 -0
- package/dist/components/buttons/default/SpinConfirmationButton.js +1 -0
- package/dist/components/buttons/default/VolumeButton.d.ts +1 -1
- package/dist/components/buttons/default/VolumeButton.js +1 -1
- package/dist/components/common/AnimatedBackground.d.ts +1 -5
- package/dist/components/common/AnimatedBackground.js +1 -5
- package/dist/components/common/Background.d.ts +3 -5
- package/dist/components/common/Background.js +3 -5
- package/dist/components/common/FreeSpinButton.d.ts +1 -3
- package/dist/components/common/FreeSpinButton.js +1 -3
- package/dist/components/common/Logo.d.ts +1 -3
- package/dist/components/common/Logo.js +1 -3
- package/dist/components/common/LogoStatic.d.ts +1 -3
- package/dist/components/common/LogoStatic.js +1 -3
- package/dist/components/common/ResumableContainers.d.ts +6 -6
- package/dist/components/common/ResumableContainers.js +6 -6
- package/dist/components/frame/AbstractColumnsContainer.d.ts +3 -9
- package/dist/components/frame/AbstractColumnsContainer.js +3 -9
- package/dist/components/frame/AbstractFrame.d.ts +6 -12
- package/dist/components/frame/AbstractFrame.js +6 -12
- package/dist/components/frame/AbstractInnerFrame.d.ts +1 -3
- package/dist/components/frame/AbstractInnerFrame.js +1 -3
- package/dist/components/frame/WinLineAnimation.d.ts +1 -3
- package/dist/components/frame/WinLineAnimation.js +1 -3
- package/dist/components/frame/constants.d.ts +7 -0
- package/dist/components/frame/constants.js +3 -0
- package/dist/components/frame/types.d.ts +4 -0
- package/dist/components/messageBox/MessageBox.d.ts +1 -3
- package/dist/components/messageBox/MessageBox.js +1 -3
- package/dist/components/symbols/AbstractSymbolBase.d.ts +1 -2
- package/dist/components/symbols/AbstractSymbolBase.js +1 -2
- package/dist/components/symbols/AbstractSymbolsColumn.d.ts +1 -3
- package/dist/components/symbols/AbstractSymbolsColumn.js +4 -5
- package/dist/components/symbols/DroppableSymbol.d.ts +0 -2
- package/dist/components/symbols/DroppableSymbol.js +0 -2
- package/dist/components/symbols/DroppableSymbolsColumn.d.ts +0 -2
- package/dist/components/symbols/DroppableSymbolsColumn.js +0 -2
- package/dist/components/symbols/types.d.ts +0 -1
- package/dist/components/symbols/types.js +0 -1
- package/dist/components/updatable/UpdatableTextComponent.d.ts +1 -3
- package/dist/components/updatable/UpdatableTextComponent.js +1 -3
- package/dist/components/updatable/UpdatableValueComponent.d.ts +1 -3
- package/dist/components/updatable/UpdatableValueComponent.js +1 -3
- package/dist/components/winLineIndicator/WinLineIndicator.d.ts +1 -3
- package/dist/components/winLineIndicator/WinLineIndicator.js +1 -3
- package/dist/connectivity/ConnectionWrapper.d.ts +1 -4
- package/dist/connectivity/ConnectionWrapper.js +1 -4
- package/dist/connectivity/LocalConnectionWrapper.d.ts +1 -1
- package/dist/connectivity/LocalConnectionWrapper.js +1 -1
- package/dist/connectivity/apiQueue.d.ts +2 -3
- package/dist/connectivity/apiQueue.js +2 -3
- package/dist/connectivity/wins.d.ts +0 -9
- package/dist/controllers/AbstractController.d.ts +27 -40
- package/dist/controllers/AbstractController.js +30 -41
- package/dist/controllers/QuickStopController.d.ts +1 -1
- package/dist/controllers/QuickStopController.js +1 -1
- package/dist/controllers/UiController.d.ts +2 -4
- package/dist/controllers/UiController.js +2 -4
- package/dist/loading/AbstractLoadingContainer.d.ts +1 -3
- package/dist/loading/AbstractLoadingContainer.js +1 -3
- package/dist/loading/ProgressiveLoader.d.ts +0 -2
- package/dist/loading/SpriteLoadingContainer.d.ts +1 -4
- package/dist/loading/SpriteLoadingContainer.js +1 -4
- package/dist/localStorage/localStorage.d.ts +0 -2
- package/dist/localStorage/localStorage.js +0 -2
- package/dist/stores/SettingsStore.d.ts +5 -10
- package/dist/stores/SettingsStore.js +5 -10
- package/dist/utils/assets/assetGetter.d.ts +10 -18
- package/dist/utils/assets/assetGetter.js +10 -18
- package/dist/utils/common/deviceOrientation.d.ts +1 -2
- package/dist/utils/common/deviceOrientation.js +1 -2
- package/dist/utils/common/functions.d.ts +7 -7
- package/dist/utils/common/functions.js +7 -7
- package/dist/utils/common/placementHelpers.d.ts +2 -3
- package/dist/utils/common/placementHelpers.js +4 -5
- package/dist/winComponents/AnimableParticlesEmitter.d.ts +1 -4
- package/dist/winComponents/AnimableParticlesEmitter.js +1 -4
- package/dist/winComponents/PositioningFrame.d.ts +1 -3
- package/dist/winComponents/PositioningFrame.js +1 -3
- package/dist/winComponents/UpdatableSpineContainer.d.ts +1 -3
- package/dist/winComponents/UpdatableSpineContainer.js +1 -3
- package/dist/winComponents/winFactory.d.ts +8 -9
- package/dist/winComponents/winFactory.js +8 -9
- package/package.json +3 -1
|
@@ -11,11 +11,9 @@ import { UiController } from "./UiController";
|
|
|
11
11
|
/**
|
|
12
12
|
* Abstract controller class for games, this class control game flow
|
|
13
13
|
* and handle all game logic, including wins, transformations
|
|
14
|
-
*
|
|
15
14
|
* @abstract
|
|
16
15
|
* @class AbstractController
|
|
17
16
|
* @template T
|
|
18
|
-
* @exports
|
|
19
17
|
*/
|
|
20
18
|
export declare abstract class AbstractController<T> {
|
|
21
19
|
protected buttonsEventManager: ButtonsEventManager;
|
|
@@ -49,6 +47,7 @@ export declare abstract class AbstractController<T> {
|
|
|
49
47
|
private componentRegistry;
|
|
50
48
|
protected skipFreeSpinSummary: boolean;
|
|
51
49
|
protected scatterCountForFx: number;
|
|
50
|
+
protected summaryStop: boolean;
|
|
52
51
|
protected _lastWinAmount: number;
|
|
53
52
|
protected constructor(buttonsEventManager: ButtonsEventManager, mainContainer: AbstractMainContainer, connection: SubscribableConnectionWrapper);
|
|
54
53
|
init(): void;
|
|
@@ -70,14 +69,12 @@ export declare abstract class AbstractController<T> {
|
|
|
70
69
|
private initSpinButton;
|
|
71
70
|
/**
|
|
72
71
|
* This function is responsible for checking if buttons (not bet buttons) should be disabled
|
|
73
|
-
*
|
|
74
|
-
* @return {boolean}
|
|
72
|
+
* @returns {boolean} should buttons be disabled
|
|
75
73
|
*/
|
|
76
74
|
get shouldButtonsBeDisabled(): boolean;
|
|
77
75
|
/**
|
|
78
76
|
* This function is responsible for checking if bet buttons should be disabled
|
|
79
|
-
*
|
|
80
|
-
* @return {boolean}
|
|
77
|
+
* @returns {boolean} should bet buttons be disabled
|
|
81
78
|
*/
|
|
82
79
|
get shouldBetButtonsBeDisabled(): boolean;
|
|
83
80
|
get lastWinAmount(): number;
|
|
@@ -97,15 +94,15 @@ export declare abstract class AbstractController<T> {
|
|
|
97
94
|
* - dataFetch - when game is fetching data from the server
|
|
98
95
|
* - bigWinInvoked - when big win is invoked
|
|
99
96
|
* - gameSummary - when game is showing game summary
|
|
100
|
-
*
|
|
101
|
-
* @param {GamePhase} newPhase
|
|
97
|
+
* @param {GamePhase} newPhase - new game phase
|
|
102
98
|
*/
|
|
103
99
|
protected changeGamePhase(newPhase: GamePhase): void;
|
|
104
100
|
private setRefreshButtonBasedOnPhase;
|
|
105
101
|
private setMessageBoxBasedOnPhase;
|
|
106
102
|
/**
|
|
107
|
-
*
|
|
108
|
-
* @param {SpinLogic} spinLogic
|
|
103
|
+
* This function is responsible for getting indexes of reels which should show mystery fx, based on {@link spinLogic}
|
|
104
|
+
* @param {SpinLogic} spinLogic - spin logic
|
|
105
|
+
* @returns {number[]} indexes of reels which should show mystery fx
|
|
109
106
|
*/
|
|
110
107
|
protected getReelIndexesToShowMysteryFx(spinLogic: SpinLogic): number[];
|
|
111
108
|
/**
|
|
@@ -121,6 +118,7 @@ export declare abstract class AbstractController<T> {
|
|
|
121
118
|
private getBoughtNumberOfFreeSpins;
|
|
122
119
|
/**
|
|
123
120
|
* Function for autoplay spin
|
|
121
|
+
* @returns {void} promise
|
|
124
122
|
*/
|
|
125
123
|
protected autoplaySpin(): void;
|
|
126
124
|
/**
|
|
@@ -135,26 +133,23 @@ export declare abstract class AbstractController<T> {
|
|
|
135
133
|
/**
|
|
136
134
|
* This function is responsible for actions while fetching data
|
|
137
135
|
* If you want to add some actions while fetching data, you can override this function
|
|
138
|
-
*
|
|
139
|
-
* @param {
|
|
140
|
-
* @param {SpinLogic} _spinLogic
|
|
136
|
+
* @param {SpinData} _spinData - spin data
|
|
137
|
+
* @param {SpinLogic} _spinLogic - spin logic
|
|
141
138
|
*/
|
|
142
139
|
protected onDataFetch(_spinData: SpinData, _spinLogic: SpinLogic): void;
|
|
143
140
|
/**
|
|
144
141
|
* Getter for extra data for some games
|
|
145
|
-
*
|
|
146
|
-
* @returns {ExtraDataRequest}
|
|
142
|
+
* @returns {ExtraDataRequest} extra data
|
|
147
143
|
*/
|
|
148
144
|
protected getExtraData(): ExtraDataRequest;
|
|
149
145
|
/**
|
|
150
146
|
* Function for fetching and preparing spin data
|
|
151
|
-
*
|
|
152
|
-
* @returns {SpinDataWithLogic}
|
|
147
|
+
* @returns {SpinDataWithLogic} - spin data with logic
|
|
153
148
|
*/
|
|
154
149
|
protected fetchAndPrepareSpinData(): Promise<SpinDataWithLogic>;
|
|
155
150
|
/**
|
|
156
151
|
* Checks if we can skip action based on conditions. By default it checks {@link !this.isPlayingUnskippableStreak}
|
|
157
|
-
*
|
|
152
|
+
* @returns {boolean} can we skip actions
|
|
158
153
|
*/
|
|
159
154
|
protected canSkipActions(): boolean;
|
|
160
155
|
protected onSpinningStart(): Promise<void>;
|
|
@@ -171,16 +166,14 @@ export declare abstract class AbstractController<T> {
|
|
|
171
166
|
* - updating free spins amount
|
|
172
167
|
* - showing free spins summary and plate
|
|
173
168
|
* - playing win action queue
|
|
174
|
-
*
|
|
175
169
|
* @returns {Promise<void>}
|
|
176
170
|
*/
|
|
177
171
|
private spin;
|
|
178
172
|
/**
|
|
179
173
|
* Function for invoking free spin plate, invoked in mainContainer
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
174
|
+
* ```ts
|
|
175
|
+
* this.mainContainer.invokeFreeSpinPlate(numberOfFreeSpins, isAdditionalFreeSpin);
|
|
176
|
+
* ```
|
|
184
177
|
* @param numberOfFreeSpins - number of free spins, if not provided, `RainMan.settingsStore.totalNumberOfFreeSpins` will be used
|
|
185
178
|
* @param isAdditionalFreeSpin - flag for displaying additional free spins
|
|
186
179
|
*/
|
|
@@ -199,48 +192,42 @@ export declare abstract class AbstractController<T> {
|
|
|
199
192
|
protected stopPlayingSymbolsTransformation(): void;
|
|
200
193
|
/**
|
|
201
194
|
* Function for displaying big win. Invoking that by `this.mainContainer.invokeBigWin();` and destroying it by `this.mainContainer.destroyBigWin();`
|
|
202
|
-
*
|
|
203
|
-
* @param customAmount - amount of win, if not provided, `RainMan.settingsStore.bet` will be used
|
|
195
|
+
* @param {number | undefined} customAmount - amount of win, if not provided, `RainMan.settingsStore.bet` will be used
|
|
204
196
|
*/
|
|
205
197
|
protected countBigWin(customAmount?: number): Promise<void>;
|
|
206
198
|
/**
|
|
207
199
|
* Function for displaying bonus win. Invoking that by `this.mainContainer.invokeBonusWin();` and destroying it by `this.mainContainer.destroyBonusWin();`
|
|
208
|
-
*
|
|
209
|
-
* @param customAmount - amount of win, if not provided, `RainMan.settingsStore.bet` will be used
|
|
200
|
+
* @param {number | undefined} winAmount - win amount, if not provided, `this.uiController.recentWin` will be used
|
|
210
201
|
*/
|
|
211
202
|
protected countBonusWin(winAmount?: number): Promise<void>;
|
|
212
203
|
/**
|
|
213
204
|
* Function for displaying super bonus win. Invoking that by `this.mainContainer.invokeSuperBonusWin();` and destroying it by `this.mainContainer.destroySuperBonusWin();`
|
|
214
|
-
*
|
|
215
|
-
* @param winAmount - amount of win, if not provided `RainMan.settingsStore.cumulativeWinAmount` will be used
|
|
205
|
+
* @param {number | undefined} winAmount - amount of win, if not provided `RainMan.settingsStore.cumulativeWinAmount` will be used
|
|
216
206
|
*/
|
|
217
207
|
protected countSuperBonusWin(winAmount?: number): Promise<void>;
|
|
218
208
|
/**
|
|
219
209
|
* Function for displaying mystery win. Invoking that by `this.mainContainer.invokeMysteryWin();` and destroying it by `this.mainContainer.destroyMysteryWin();`.
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
* @param
|
|
223
|
-
* @param quantity - how many symbols create mystery win, by default 3
|
|
210
|
+
* Function requires `this.mysteryWinSymbol` to be fired.
|
|
211
|
+
* @param {number | undefined} winAmount - amount of mystery win
|
|
212
|
+
* @param {number} quantity - how many symbols create mystery win, by default 3
|
|
224
213
|
*/
|
|
225
214
|
protected countMysteryWin(winAmount?: number, quantity?: number): Promise<void>;
|
|
226
215
|
/**
|
|
227
216
|
* Parser for streaks and reels quantity
|
|
228
|
-
*
|
|
229
|
-
* @param {
|
|
230
|
-
* @
|
|
231
|
-
* @returns {StreakReelsIndexes}
|
|
217
|
+
* @param {StreakReelsIndexes} streak - streak with reels indexes
|
|
218
|
+
* @param {number} reelsQuantity - quantity of reels
|
|
219
|
+
* @returns {StreakReelsIndexes} - parsed streak
|
|
232
220
|
*/
|
|
233
221
|
protected parseStreak(streak: StreakReelsIndexes, reelsQuantity: number): StreakReelsIndexes;
|
|
234
222
|
/**
|
|
235
223
|
* Function for getting symbols ids from {@link StreakReelsIndexes}
|
|
236
|
-
*
|
|
237
|
-
* @
|
|
224
|
+
* @param {StreakReelsIndexes} streak - streak with reels indexes
|
|
225
|
+
* @returns {SymbolId[]} - symbols from streak
|
|
238
226
|
*/
|
|
239
227
|
protected getSymbolIdsForStreak(streak: StreakReelsIndexes): SymbolId[];
|
|
240
228
|
protected updateUiValues(value: number): void;
|
|
241
229
|
/**
|
|
242
230
|
* Function for composing win actions queue based on wins and transformations from {@link transformationTypes} and {@link PossibleWins}
|
|
243
|
-
*
|
|
244
231
|
* @param spinLogic
|
|
245
232
|
*/
|
|
246
233
|
protected abstract composeWinActionsQueue(spinLogic: SpinLogic): void;
|
|
@@ -10,11 +10,9 @@ import { UiController } from "./UiController";
|
|
|
10
10
|
/**
|
|
11
11
|
* Abstract controller class for games, this class control game flow
|
|
12
12
|
* and handle all game logic, including wins, transformations
|
|
13
|
-
*
|
|
14
13
|
* @abstract
|
|
15
14
|
* @class AbstractController
|
|
16
15
|
* @template T
|
|
17
|
-
* @exports
|
|
18
16
|
*/
|
|
19
17
|
export class AbstractController {
|
|
20
18
|
buttonsEventManager;
|
|
@@ -48,6 +46,7 @@ export class AbstractController {
|
|
|
48
46
|
componentRegistry;
|
|
49
47
|
skipFreeSpinSummary = false;
|
|
50
48
|
scatterCountForFx = 2;
|
|
49
|
+
summaryStop = false;
|
|
51
50
|
_lastWinAmount = 0;
|
|
52
51
|
constructor(buttonsEventManager, mainContainer, connection) {
|
|
53
52
|
this.buttonsEventManager = buttonsEventManager;
|
|
@@ -123,7 +122,7 @@ export class AbstractController {
|
|
|
123
122
|
}
|
|
124
123
|
disableBetButtons(shouldBeDisabled) {
|
|
125
124
|
const freeSpinButton = this.mainContainer.getFreeSpinButton();
|
|
126
|
-
if (freeSpinButton)
|
|
125
|
+
if (freeSpinButton && this.roundNumber > 0)
|
|
127
126
|
freeSpinButton?.setInteractivity(!shouldBeDisabled);
|
|
128
127
|
const buttonsToChange = [
|
|
129
128
|
RainMan.componentRegistry.get(BUTTONS.plus),
|
|
@@ -196,8 +195,9 @@ export class AbstractController {
|
|
|
196
195
|
refreshButton.on("touchstart", () => {
|
|
197
196
|
this.mobileSpinTimeout = setInterval(() => {
|
|
198
197
|
this.handleDisablingButtons(true);
|
|
198
|
+
this.summaryStop = this.skipFreeSpinSummary ? false : this.invokeFreeSpinSummaryPlateAfterWin;
|
|
199
199
|
if (this.invokeFreeSpinPlateAfterWin ||
|
|
200
|
-
this.
|
|
200
|
+
this.summaryStop ||
|
|
201
201
|
this.resolveBigWin !== undefined ||
|
|
202
202
|
this.resolveSuperBonusWin !== undefined ||
|
|
203
203
|
this.resolveMysteryWin !== undefined) {
|
|
@@ -217,8 +217,7 @@ export class AbstractController {
|
|
|
217
217
|
}
|
|
218
218
|
/**
|
|
219
219
|
* This function is responsible for checking if buttons (not bet buttons) should be disabled
|
|
220
|
-
*
|
|
221
|
-
* @return {boolean}
|
|
220
|
+
* @returns {boolean} should buttons be disabled
|
|
222
221
|
*/
|
|
223
222
|
get shouldButtonsBeDisabled() {
|
|
224
223
|
if (this.quickStopController.quickStopCounterLock)
|
|
@@ -231,8 +230,7 @@ export class AbstractController {
|
|
|
231
230
|
}
|
|
232
231
|
/**
|
|
233
232
|
* This function is responsible for checking if bet buttons should be disabled
|
|
234
|
-
*
|
|
235
|
-
* @return {boolean}
|
|
233
|
+
* @returns {boolean} should bet buttons be disabled
|
|
236
234
|
*/
|
|
237
235
|
get shouldBetButtonsBeDisabled() {
|
|
238
236
|
return this.shouldButtonsBeDisabled || RainMan.settingsStore.isFreeSpinsPlayEnabled;
|
|
@@ -264,8 +262,7 @@ export class AbstractController {
|
|
|
264
262
|
* - dataFetch - when game is fetching data from the server
|
|
265
263
|
* - bigWinInvoked - when big win is invoked
|
|
266
264
|
* - gameSummary - when game is showing game summary
|
|
267
|
-
*
|
|
268
|
-
* @param {GamePhase} newPhase
|
|
265
|
+
* @param {GamePhase} newPhase - new game phase
|
|
269
266
|
*/
|
|
270
267
|
changeGamePhase(newPhase) {
|
|
271
268
|
logInfo(`👋🏼👋🏼👋🏼👋🏼 ${this.gamePhase} --> ${newPhase}`);
|
|
@@ -312,8 +309,9 @@ export class AbstractController {
|
|
|
312
309
|
}
|
|
313
310
|
}
|
|
314
311
|
/**
|
|
315
|
-
*
|
|
316
|
-
* @param {SpinLogic} spinLogic
|
|
312
|
+
* This function is responsible for getting indexes of reels which should show mystery fx, based on {@link spinLogic}
|
|
313
|
+
* @param {SpinLogic} spinLogic - spin logic
|
|
314
|
+
* @returns {number[]} indexes of reels which should show mystery fx
|
|
317
315
|
*/
|
|
318
316
|
getReelIndexesToShowMysteryFx(spinLogic) {
|
|
319
317
|
const { onStopBlindsConfiguration } = spinLogic;
|
|
@@ -463,6 +461,7 @@ export class AbstractController {
|
|
|
463
461
|
}
|
|
464
462
|
/**
|
|
465
463
|
* Function for autoplay spin
|
|
464
|
+
* @returns {void} promise
|
|
466
465
|
*/
|
|
467
466
|
autoplaySpin() {
|
|
468
467
|
if (!RainMan.settingsStore.howManyAutoSpinsLeft)
|
|
@@ -497,23 +496,20 @@ export class AbstractController {
|
|
|
497
496
|
/**
|
|
498
497
|
* This function is responsible for actions while fetching data
|
|
499
498
|
* If you want to add some actions while fetching data, you can override this function
|
|
500
|
-
*
|
|
501
|
-
* @param {
|
|
502
|
-
* @param {SpinLogic} _spinLogic
|
|
499
|
+
* @param {SpinData} _spinData - spin data
|
|
500
|
+
* @param {SpinLogic} _spinLogic - spin logic
|
|
503
501
|
*/
|
|
504
502
|
onDataFetch(_spinData, _spinLogic) { }
|
|
505
503
|
/**
|
|
506
504
|
* Getter for extra data for some games
|
|
507
|
-
*
|
|
508
|
-
* @returns {ExtraDataRequest}
|
|
505
|
+
* @returns {ExtraDataRequest} extra data
|
|
509
506
|
*/
|
|
510
507
|
getExtraData() {
|
|
511
508
|
return {};
|
|
512
509
|
}
|
|
513
510
|
/**
|
|
514
511
|
* Function for fetching and preparing spin data
|
|
515
|
-
*
|
|
516
|
-
* @returns {SpinDataWithLogic}
|
|
512
|
+
* @returns {SpinDataWithLogic} - spin data with logic
|
|
517
513
|
*/
|
|
518
514
|
async fetchAndPrepareSpinData() {
|
|
519
515
|
this.changeGamePhase(gamePhases.DATA_FETCH);
|
|
@@ -539,7 +535,7 @@ export class AbstractController {
|
|
|
539
535
|
}
|
|
540
536
|
/**
|
|
541
537
|
* Checks if we can skip action based on conditions. By default it checks {@link !this.isPlayingUnskippableStreak}
|
|
542
|
-
*
|
|
538
|
+
* @returns {boolean} can we skip actions
|
|
543
539
|
*/
|
|
544
540
|
canSkipActions() {
|
|
545
541
|
return !this.isPlayingUnskippableStreak;
|
|
@@ -558,7 +554,6 @@ export class AbstractController {
|
|
|
558
554
|
* - updating free spins amount
|
|
559
555
|
* - showing free spins summary and plate
|
|
560
556
|
* - playing win action queue
|
|
561
|
-
*
|
|
562
557
|
* @returns {Promise<void>}
|
|
563
558
|
*/
|
|
564
559
|
async spin() {
|
|
@@ -691,10 +686,9 @@ export class AbstractController {
|
|
|
691
686
|
}
|
|
692
687
|
/**
|
|
693
688
|
* Function for invoking free spin plate, invoked in mainContainer
|
|
694
|
-
*
|
|
695
|
-
*
|
|
696
|
-
*
|
|
697
|
-
*
|
|
689
|
+
* ```ts
|
|
690
|
+
* this.mainContainer.invokeFreeSpinPlate(numberOfFreeSpins, isAdditionalFreeSpin);
|
|
691
|
+
* ```
|
|
698
692
|
* @param numberOfFreeSpins - number of free spins, if not provided, `RainMan.settingsStore.totalNumberOfFreeSpins` will be used
|
|
699
693
|
* @param isAdditionalFreeSpin - flag for displaying additional free spins
|
|
700
694
|
*/
|
|
@@ -771,8 +765,7 @@ export class AbstractController {
|
|
|
771
765
|
}
|
|
772
766
|
/**
|
|
773
767
|
* Function for displaying big win. Invoking that by `this.mainContainer.invokeBigWin();` and destroying it by `this.mainContainer.destroyBigWin();`
|
|
774
|
-
*
|
|
775
|
-
* @param customAmount - amount of win, if not provided, `RainMan.settingsStore.bet` will be used
|
|
768
|
+
* @param {number | undefined} customAmount - amount of win, if not provided, `RainMan.settingsStore.bet` will be used
|
|
776
769
|
*/
|
|
777
770
|
async countBigWin(customAmount) {
|
|
778
771
|
if (RainMan.config.disableBigWinOnBonus)
|
|
@@ -799,8 +792,7 @@ export class AbstractController {
|
|
|
799
792
|
}
|
|
800
793
|
/**
|
|
801
794
|
* Function for displaying bonus win. Invoking that by `this.mainContainer.invokeBonusWin();` and destroying it by `this.mainContainer.destroyBonusWin();`
|
|
802
|
-
*
|
|
803
|
-
* @param customAmount - amount of win, if not provided, `RainMan.settingsStore.bet` will be used
|
|
795
|
+
* @param {number | undefined} winAmount - win amount, if not provided, `this.uiController.recentWin` will be used
|
|
804
796
|
*/
|
|
805
797
|
async countBonusWin(winAmount) {
|
|
806
798
|
if (!winAmount)
|
|
@@ -824,8 +816,7 @@ export class AbstractController {
|
|
|
824
816
|
}
|
|
825
817
|
/**
|
|
826
818
|
* Function for displaying super bonus win. Invoking that by `this.mainContainer.invokeSuperBonusWin();` and destroying it by `this.mainContainer.destroySuperBonusWin();`
|
|
827
|
-
*
|
|
828
|
-
* @param winAmount - amount of win, if not provided `RainMan.settingsStore.cumulativeWinAmount` will be used
|
|
819
|
+
* @param {number | undefined} winAmount - amount of win, if not provided `RainMan.settingsStore.cumulativeWinAmount` will be used
|
|
829
820
|
*/
|
|
830
821
|
async countSuperBonusWin(winAmount) {
|
|
831
822
|
if (!winAmount)
|
|
@@ -849,10 +840,9 @@ export class AbstractController {
|
|
|
849
840
|
}
|
|
850
841
|
/**
|
|
851
842
|
* Function for displaying mystery win. Invoking that by `this.mainContainer.invokeMysteryWin();` and destroying it by `this.mainContainer.destroyMysteryWin();`.
|
|
852
|
-
*
|
|
853
|
-
*
|
|
854
|
-
* @param
|
|
855
|
-
* @param quantity - how many symbols create mystery win, by default 3
|
|
843
|
+
* Function requires `this.mysteryWinSymbol` to be fired.
|
|
844
|
+
* @param {number | undefined} winAmount - amount of mystery win
|
|
845
|
+
* @param {number} quantity - how many symbols create mystery win, by default 3
|
|
856
846
|
*/
|
|
857
847
|
async countMysteryWin(winAmount, quantity = 3) {
|
|
858
848
|
if (!winAmount || !this.mysteryWinSymbol)
|
|
@@ -883,10 +873,9 @@ export class AbstractController {
|
|
|
883
873
|
}
|
|
884
874
|
/**
|
|
885
875
|
* Parser for streaks and reels quantity
|
|
886
|
-
*
|
|
887
|
-
* @param {
|
|
888
|
-
* @
|
|
889
|
-
* @returns {StreakReelsIndexes}
|
|
876
|
+
* @param {StreakReelsIndexes} streak - streak with reels indexes
|
|
877
|
+
* @param {number} reelsQuantity - quantity of reels
|
|
878
|
+
* @returns {StreakReelsIndexes} - parsed streak
|
|
890
879
|
*/
|
|
891
880
|
parseStreak(streak, reelsQuantity) {
|
|
892
881
|
const parsedStreak = [];
|
|
@@ -902,8 +891,8 @@ export class AbstractController {
|
|
|
902
891
|
}
|
|
903
892
|
/**
|
|
904
893
|
* Function for getting symbols ids from {@link StreakReelsIndexes}
|
|
905
|
-
*
|
|
906
|
-
* @
|
|
894
|
+
* @param {StreakReelsIndexes} streak - streak with reels indexes
|
|
895
|
+
* @returns {SymbolId[]} - symbols from streak
|
|
907
896
|
*/
|
|
908
897
|
getSymbolIdsForStreak(streak) {
|
|
909
898
|
const symbolsIds = [];
|
|
@@ -4,7 +4,7 @@ import { ButtonsEventManager } from "../application";
|
|
|
4
4
|
* After 4 quick stops, the speed popup will be shown.
|
|
5
5
|
* Number of quick spin can be adjusted in {@link MAX_QUICK_STOPS}
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
9
|
export declare class QuickStopController {
|
|
10
10
|
private buttonsEventManager;
|
|
@@ -29,14 +29,12 @@ export declare class UiController {
|
|
|
29
29
|
resetTotalFreeSpinWinAmount(): void;
|
|
30
30
|
private getNewBet;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* @param _lastBet - last bet
|
|
32
|
+
* Functions to be called before bet is updated
|
|
33
|
+
* @param {number} _lastBet - last bet
|
|
35
34
|
*/
|
|
36
35
|
protected beforeUpdateBet(_lastBet: number): void;
|
|
37
36
|
/**
|
|
38
37
|
* Function to be called after bet is updated
|
|
39
|
-
*
|
|
40
38
|
* @param {number} _bet - new bet value
|
|
41
39
|
*/
|
|
42
40
|
protected afterUpdateBet(_bet: number): void;
|
|
@@ -71,14 +71,12 @@ export class UiController {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* @param _lastBet - last bet
|
|
74
|
+
* Functions to be called before bet is updated
|
|
75
|
+
* @param {number} _lastBet - last bet
|
|
77
76
|
*/
|
|
78
77
|
beforeUpdateBet(_lastBet) { }
|
|
79
78
|
/**
|
|
80
79
|
* Function to be called after bet is updated
|
|
81
|
-
*
|
|
82
80
|
* @param {number} _bet - new bet value
|
|
83
81
|
*/
|
|
84
82
|
afterUpdateBet(_bet) { }
|
|
@@ -3,12 +3,10 @@ import { Background, Logo, LogoStatic } from "../components";
|
|
|
3
3
|
import { SpriteLoadingContainer } from "./SpriteLoadingContainer";
|
|
4
4
|
/**
|
|
5
5
|
* Class represents the container with loading logic inside
|
|
6
|
-
*
|
|
7
|
-
* @export
|
|
8
6
|
* @abstract
|
|
9
7
|
* @class AbstractLoadingContainer
|
|
10
8
|
* @typedef {AbstractLoadingContainer}
|
|
11
|
-
* @
|
|
9
|
+
* @augments {Container}
|
|
12
10
|
*/
|
|
13
11
|
export declare abstract class AbstractLoadingContainer extends Container {
|
|
14
12
|
protected abstract background: Background;
|
|
@@ -3,12 +3,10 @@ import { RainMan } from "../Rainman";
|
|
|
3
3
|
import { SpriteLoadingContainer } from "./SpriteLoadingContainer";
|
|
4
4
|
/**
|
|
5
5
|
* Class represents the container with loading logic inside
|
|
6
|
-
*
|
|
7
|
-
* @export
|
|
8
6
|
* @abstract
|
|
9
7
|
* @class AbstractLoadingContainer
|
|
10
8
|
* @typedef {AbstractLoadingContainer}
|
|
11
|
-
* @
|
|
9
|
+
* @augments {Container}
|
|
12
10
|
*/
|
|
13
11
|
export class AbstractLoadingContainer extends Container {
|
|
14
12
|
logo = null;
|
|
@@ -2,11 +2,9 @@ import { Container, ITextStyle } from "pixi.js";
|
|
|
2
2
|
import { ProgressiveLoader } from "./ProgressiveLoader";
|
|
3
3
|
/**
|
|
4
4
|
* This class contains the loading process to pixi application
|
|
5
|
-
*
|
|
6
|
-
* @export
|
|
7
5
|
* @class SpriteLoadingContainer
|
|
8
6
|
* @typedef {SpriteLoadingContainer}
|
|
9
|
-
* @
|
|
7
|
+
* @augments {Container}
|
|
10
8
|
* @implements {ProgressiveLoader}
|
|
11
9
|
*/
|
|
12
10
|
export declare class SpriteLoadingContainer extends Container implements ProgressiveLoader {
|
|
@@ -19,7 +17,6 @@ export declare class SpriteLoadingContainer extends Container implements Progres
|
|
|
19
17
|
private readonly loadingStatusHeight;
|
|
20
18
|
/**
|
|
21
19
|
* Constructor for SpriteLoadingContainer
|
|
22
|
-
*
|
|
23
20
|
* @param {string} texture path to texture for logo
|
|
24
21
|
* @param {Partial<ITextStyle>} textOptions contains the options for text color blur
|
|
25
22
|
*/
|
|
@@ -2,11 +2,9 @@ import { Container, Graphics, Sprite, Text, TextStyle, Texture } from "pixi.js";
|
|
|
2
2
|
import { RainMan } from "../Rainman";
|
|
3
3
|
/**
|
|
4
4
|
* This class contains the loading process to pixi application
|
|
5
|
-
*
|
|
6
|
-
* @export
|
|
7
5
|
* @class SpriteLoadingContainer
|
|
8
6
|
* @typedef {SpriteLoadingContainer}
|
|
9
|
-
* @
|
|
7
|
+
* @augments {Container}
|
|
10
8
|
* @implements {ProgressiveLoader}
|
|
11
9
|
*/
|
|
12
10
|
export class SpriteLoadingContainer extends Container {
|
|
@@ -19,7 +17,6 @@ export class SpriteLoadingContainer extends Container {
|
|
|
19
17
|
loadingStatusHeight = this.loadingStatusContainerHeight - 10;
|
|
20
18
|
/**
|
|
21
19
|
* Constructor for SpriteLoadingContainer
|
|
22
|
-
*
|
|
23
20
|
* @param {string} texture path to texture for logo
|
|
24
21
|
* @param {Partial<ITextStyle>} textOptions contains the options for text color blur
|
|
25
22
|
*/
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Here you can specify the all of the local storage keys
|
|
3
|
-
*
|
|
4
|
-
* @type { readonly hiResolution: "hiResolutionLocalStorage"; readonly batterySaver: "batterySaverLocalStorage"; readonly volumeLevel: "volumeLevelLocalStorage"; readonly isSoundEnabled: "isSoundEnabledLocalStorage"; readonly isSoundFxEnabled: "isSoundFxEnabledLocalStorage"; readonly isAmbientMusicEnabled: "isAmbientMusicEna...}
|
|
5
3
|
*/
|
|
6
4
|
export declare const LOCAL_STORAGE: {
|
|
7
5
|
readonly hiResolution: "hiResolutionLocalStorage";
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Here you can specify the all of the local storage keys
|
|
3
|
-
*
|
|
4
|
-
* @type { readonly hiResolution: "hiResolutionLocalStorage"; readonly batterySaver: "batterySaverLocalStorage"; readonly volumeLevel: "volumeLevelLocalStorage"; readonly isSoundEnabled: "isSoundEnabledLocalStorage"; readonly isSoundFxEnabled: "isSoundFxEnabledLocalStorage"; readonly isAmbientMusicEnabled: "isAmbientMusicEna...}
|
|
5
3
|
*/
|
|
6
4
|
export const LOCAL_STORAGE = {
|
|
7
5
|
hiResolution: "hiResolutionLocalStorage",
|
|
@@ -4,8 +4,6 @@ import { InitDataInterface, Point, RangeQuantityValue, SpinData } from "../conne
|
|
|
4
4
|
import { PaytableData } from "./types";
|
|
5
5
|
/**
|
|
6
6
|
* This class represents global state of pixi and react application
|
|
7
|
-
*
|
|
8
|
-
* @export
|
|
9
7
|
* @class SettingsStore
|
|
10
8
|
* @typedef {SettingsStore}
|
|
11
9
|
*/
|
|
@@ -64,16 +62,14 @@ export declare class SettingsStore {
|
|
|
64
62
|
refreshBatterySaver(): void;
|
|
65
63
|
/**
|
|
66
64
|
* Sets flag for ambient music.
|
|
67
|
-
*
|
|
68
|
-
* @param flag
|
|
69
|
-
* @param saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
65
|
+
* @param {boolean} flag - new value for ambient music flag
|
|
66
|
+
* @param {boolean} saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
70
67
|
*/
|
|
71
68
|
setAmbientMusicFlag(flag: boolean, saveToLocalStorage?: boolean): void;
|
|
72
69
|
/**
|
|
73
70
|
* Sets flag for effect sounds
|
|
74
|
-
*
|
|
75
|
-
* @param flag
|
|
76
|
-
* @param saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
71
|
+
* @param {boolean} flag - new value for sound fx flag
|
|
72
|
+
* @param {boolean} saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
77
73
|
*/
|
|
78
74
|
setSoundFxFlag(flag: boolean, saveToLocalStorage?: boolean): void;
|
|
79
75
|
flipSoundsEnabled(volumeLevel?: number | null): void;
|
|
@@ -94,8 +90,7 @@ export declare class SettingsStore {
|
|
|
94
90
|
repositionSymbolPaytablePopup(x: number, y: number): void;
|
|
95
91
|
/**
|
|
96
92
|
* Initialize paytable map for all symbols. based on backend data {@link InitDataInterface.paytable}
|
|
97
|
-
*
|
|
98
|
-
* @param initConfigData
|
|
93
|
+
* @param {InitDataInterface} initConfigData - initial data from backend
|
|
99
94
|
*/
|
|
100
95
|
initPaytableMap(initConfigData: InitDataInterface): void;
|
|
101
96
|
decreaseAutoSpinsCount(): void;
|
|
@@ -8,8 +8,6 @@ import { changeResolution, logError } from "../utils";
|
|
|
8
8
|
const INITIAL_AUTO_SPIN_COUNT = 50;
|
|
9
9
|
/**
|
|
10
10
|
* This class represents global state of pixi and react application
|
|
11
|
-
*
|
|
12
|
-
* @export
|
|
13
11
|
* @class SettingsStore
|
|
14
12
|
* @typedef {SettingsStore}
|
|
15
13
|
*/
|
|
@@ -140,9 +138,8 @@ export class SettingsStore {
|
|
|
140
138
|
}
|
|
141
139
|
/**
|
|
142
140
|
* Sets flag for ambient music.
|
|
143
|
-
*
|
|
144
|
-
* @param flag
|
|
145
|
-
* @param saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
141
|
+
* @param {boolean} flag - new value for ambient music flag
|
|
142
|
+
* @param {boolean} saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
146
143
|
*/
|
|
147
144
|
setAmbientMusicFlag(flag, saveToLocalStorage = true) {
|
|
148
145
|
this.ambientMusicFlag = flag;
|
|
@@ -155,9 +152,8 @@ export class SettingsStore {
|
|
|
155
152
|
}
|
|
156
153
|
/**
|
|
157
154
|
* Sets flag for effect sounds
|
|
158
|
-
*
|
|
159
|
-
* @param flag
|
|
160
|
-
* @param saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
155
|
+
* @param {boolean} flag - new value for sound fx flag
|
|
156
|
+
* @param {boolean} saveToLocalStorage - default {@link true}, if true the flag will be saved to localStorage
|
|
161
157
|
*/
|
|
162
158
|
setSoundFxFlag(flag, saveToLocalStorage = true) {
|
|
163
159
|
this.soundFxFlag = flag;
|
|
@@ -274,8 +270,7 @@ export class SettingsStore {
|
|
|
274
270
|
}
|
|
275
271
|
/**
|
|
276
272
|
* Initialize paytable map for all symbols. based on backend data {@link InitDataInterface.paytable}
|
|
277
|
-
*
|
|
278
|
-
* @param initConfigData
|
|
273
|
+
* @param {InitDataInterface} initConfigData - initial data from backend
|
|
279
274
|
*/
|
|
280
275
|
initPaytableMap(initConfigData) {
|
|
281
276
|
for (const [key, name] of initConfigData.symbols_names.entries()) {
|