pixi-rainman-game-engine 0.3.36-beta.0 → 0.3.37

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.
@@ -10,8 +10,5 @@ export declare class DescribedPlayableAction<T> {
10
10
  winAmount: Nullable<number>;
11
11
  skipLooping: boolean;
12
12
  isFirstStreak: boolean;
13
- animationTarget: {
14
- isCurrentAnimationPastHalf?: () => boolean;
15
- } | null;
16
13
  constructor(type: T, action: PlayableAction, winAmount?: Nullable<number>, skipLooping?: boolean);
17
14
  }
@@ -9,7 +9,6 @@ export class DescribedPlayableAction {
9
9
  winAmount;
10
10
  skipLooping;
11
11
  isFirstStreak = false;
12
- animationTarget = null;
13
12
  constructor(type, action, winAmount = null, skipLooping = false) {
14
13
  this.type = type;
15
14
  this.action = action;
@@ -157,11 +157,7 @@ export class ButtonsEventManager {
157
157
  const animatedBackground = RainMan.componentRegistry.get(Background.registryName);
158
158
  animatedBackground.eventMode = "static";
159
159
  animatedBackground.addListener("pointerdown", () => {
160
- if (hideLayerIfPresent() &&
161
- !RainMan.settingsStore.isAutoplayEnabled &&
162
- !RainMan.settingsStore.isFreeSpinsPlayEnabled) {
163
- this.enableButtons();
164
- }
160
+ hideLayerIfPresent();
165
161
  });
166
162
  }
167
163
  /**
@@ -7,8 +7,8 @@ export type BuyFreeSpinConfig = {
7
7
  };
8
8
  export type BuyFreeSpinState = "selection" | "confirmation";
9
9
  export declare abstract class AbstractBuyFreeSpinsPlate extends Container {
10
- private buyType;
11
- private state;
10
+ protected buyType: BuyType;
11
+ protected state: BuyFreeSpinState;
12
12
  protected selectedOption?: BuyFreeSpinOption;
13
13
  protected readonly config: BuyFreeSpinConfig;
14
14
  protected selectionPlate?: Sprite;
@@ -18,9 +18,9 @@ export declare abstract class AbstractBuyFreeSpinsPlate extends Container {
18
18
  protected declineButton?: AcceptDeclineButton;
19
19
  protected selectionPlateTexture: string;
20
20
  protected confirmationPlateTexture: string;
21
- private readonly onContinueCallback;
22
- private readonly resizeHandler;
23
- private handleClose;
21
+ protected readonly onContinueCallback: () => void;
22
+ protected readonly resizeHandler: () => void;
23
+ protected handleClose: () => void;
24
24
  protected constructor(onContinue: () => void, config: BuyFreeSpinConfig, buyType: BuyType);
25
25
  init(): void;
26
26
  private createElements;
@@ -39,8 +39,8 @@ export declare abstract class AbstractBuyFreeSpinsPlate extends Container {
39
39
  protected abstract positionConfirmationScreen(): void;
40
40
  protected onCleanup(): void;
41
41
  protected onBuyButtonClick(option: BuyFreeSpinOption): void;
42
- private onAcceptClick;
42
+ protected onAcceptClick(option: BuyFreeSpinOption): Promise<void>;
43
43
  private renderState;
44
- private onDeclineClick;
45
- private cleanup;
44
+ protected onDeclineClick(): void;
45
+ protected cleanup(): void;
46
46
  }
@@ -557,6 +557,7 @@ export class AbstractMainContainer extends Container {
557
557
  });
558
558
  if (this.gambleGame) {
559
559
  this.removeChild(this.gambleGame);
560
+ this.messageBox.visible = true;
560
561
  RainMan.settingsStore.isGambleGameActive = false;
561
562
  this._controller.updateGambleValues(RainMan.settingsStore.gambleGameWin);
562
563
  this.gambleGame = null;
@@ -913,6 +914,8 @@ export class AbstractMainContainer extends Container {
913
914
  this._buyFreeSpinsPlate.resize();
914
915
  }
915
916
  if (this.gambleGame) {
917
+ this.gambleGame.parentLayer = UXLayer;
918
+ this.messageBox.visible = false;
916
919
  this.gambleGame.resize();
917
920
  this.addChild(this.gambleGame);
918
921
  }
@@ -73,6 +73,8 @@ export declare class GambleGame extends Container {
73
73
  resize(): void;
74
74
  /**
75
75
  * Function for initializing child positions
76
+ * @param width
77
+ * @param height
76
78
  * @private
77
79
  * @returns {void}
78
80
  */
@@ -218,6 +218,8 @@ export class GambleGame extends Container {
218
218
  }
219
219
  /**
220
220
  * Function for initializing child positions
221
+ * @param width
222
+ * @param height
221
223
  * @private
222
224
  * @returns {void}
223
225
  */
@@ -98,7 +98,6 @@ export declare abstract class AbstractSymbolBase extends Container implements Sp
98
98
  * @returns {Promise<void>} - A promise that resolves when the animation is complete
99
99
  */
100
100
  play(suffix?: string): Promise<void>;
101
- isCurrentAnimationPastHalf(): boolean;
102
101
  /**
103
102
  * Function for stopping the symbol animation.
104
103
  * @public
@@ -214,18 +214,6 @@ export class AbstractSymbolBase extends Container {
214
214
  });
215
215
  });
216
216
  }
217
- isCurrentAnimationPastHalf() {
218
- const entry = this.spine.state.tracks[0];
219
- if (!entry) {
220
- return false;
221
- }
222
- const trackTime = entry.trackTime ?? 0;
223
- const animationEnd = entry.animationEnd ?? 0;
224
- if (animationEnd <= 0) {
225
- return false;
226
- }
227
- return trackTime >= animationEnd / 3;
228
- }
229
217
  /**
230
218
  * Function for stopping the symbol animation.
231
219
  * @public
@@ -1,5 +1,6 @@
1
+ import { Nullable } from "utils";
1
2
  import { ApiConfig } from "../application";
2
- import { SpinDataInterface } from "./serverData";
3
+ import { ExtraData, SpinDataInterface } from "./serverData";
3
4
  /**
4
5
  * Class representing the spin data.
5
6
  * @class SpinData
@@ -9,6 +10,7 @@ export declare class SpinData {
9
10
  private readonly rawData;
10
11
  private readonly config;
11
12
  balanceAfterSpin: number;
13
+ extraData: Nullable<ExtraData>;
12
14
  constructor(config: ApiConfig, data: SpinDataInterface);
13
15
  /**
14
16
  * Get the raw spin data from the backend server
@@ -7,10 +7,12 @@ export class SpinData {
7
7
  rawData;
8
8
  config;
9
9
  balanceAfterSpin;
10
+ extraData;
10
11
  constructor(config, data) {
11
12
  this.rawData = data;
12
13
  this.config = config;
13
14
  this.balance = data.balance;
15
+ this.extraData = data.extra_data;
14
16
  this.balanceAfterSpin = data.future_balance_prediction;
15
17
  if (data.action !== "spin" && data.action !== "buy" && data.action !== "mini-game") {
16
18
  throw new Error(`Invalid type "${data.action}" provided, "spin" or "buy" expected`);
@@ -59,9 +59,6 @@ export declare abstract class AbstractController<T> {
59
59
  shouldStopMobileSpin: boolean;
60
60
  disableMessageBoxChange: boolean;
61
61
  shouldClearQuickReelsStopAfterSpin: boolean;
62
- protected firstAnimationTarget: {
63
- isCurrentAnimationPastHalf?: () => boolean;
64
- } | null;
65
62
  protected resolveBigWin?: () => void;
66
63
  protected resolveMysteryWin?: () => void;
67
64
  protected resolveBonusWin?: () => void;
@@ -59,7 +59,6 @@ export class AbstractController {
59
59
  shouldStopMobileSpin = false;
60
60
  disableMessageBoxChange = false;
61
61
  shouldClearQuickReelsStopAfterSpin = false;
62
- firstAnimationTarget = null;
63
62
  resolveBigWin;
64
63
  resolveMysteryWin;
65
64
  resolveBonusWin;
@@ -1156,8 +1155,6 @@ export class AbstractController {
1156
1155
  this.uiController.limitWinAmount(spinLogic.winTotalAmount);
1157
1156
  }
1158
1157
  this.composeWinActionsQueue(spinLogic);
1159
- this.firstAnimationTarget =
1160
- this.winActionsQueue.find((action) => action.animationTarget)?.animationTarget ?? null;
1161
1158
  if (spinLogic.winTotalAmount === 0 && this.invokeFreeSpinPlateAfterWin) {
1162
1159
  this.uiController.messageBox.hideCurrentWinText();
1163
1160
  }
@@ -149,6 +149,7 @@ export declare class UiController {
149
149
  updateShownPossibleWin(): void;
150
150
  /**
151
151
  * Shows game pays in a bottom panel, if exists
152
+ * @param amount
152
153
  * @public
153
154
  * @returns {void}
154
155
  */
@@ -216,6 +216,7 @@ export class UiController {
216
216
  }
217
217
  /**
218
218
  * Shows game pays in a bottom panel, if exists
219
+ * @param amount
219
220
  * @public
220
221
  * @returns {void}
221
222
  */
@@ -136,6 +136,7 @@ export declare class SettingsStore {
136
136
  /**
137
137
  * Sets the free spins price table.
138
138
  * @public
139
+ * @param freeSpinsBuyOptions
139
140
  * @param {Record<number, number>} freeSpinsPriceTable table with free spins prices
140
141
  * @returns {void}
141
142
  */
@@ -150,6 +151,7 @@ export declare class SettingsStore {
150
151
  /**
151
152
  * Sets the free spins price table.
152
153
  * @public
154
+ * @param buyTypes
153
155
  * @param {Record<number, number>} jokerBuyOption table with free spins prices
154
156
  * @returns {void}
155
157
  */
@@ -218,6 +218,7 @@ export class SettingsStore {
218
218
  /**
219
219
  * Sets the free spins price table.
220
220
  * @public
221
+ * @param freeSpinsBuyOptions
221
222
  * @param {Record<number, number>} freeSpinsPriceTable table with free spins prices
222
223
  * @returns {void}
223
224
  */
@@ -236,6 +237,7 @@ export class SettingsStore {
236
237
  /**
237
238
  * Sets the free spins price table.
238
239
  * @public
240
+ * @param buyTypes
239
241
  * @param {Record<number, number>} jokerBuyOption table with free spins prices
240
242
  * @returns {void}
241
243
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixi-rainman-game-engine",
3
- "version": "0.3.36-beta.0",
3
+ "version": "0.3.37",
4
4
  "description": "This repository contains all of the mechanics that used in rainman games.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",