pixi-rainman-game-engine 0.1.51 → 0.1.52

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.
@@ -33,6 +33,7 @@ export declare abstract class AbstractColumnsContainer extends Container impleme
33
33
  };
34
34
  protected constructor();
35
35
  protected init(): void;
36
+ resolveMysterySpeedUp(): void;
36
37
  adaptToSpeed(speedLevel: SpeedLevel): void;
37
38
  enableQuickReelsStop(): void;
38
39
  clearQuickReelsStop(): void;
@@ -41,6 +41,13 @@ export class AbstractColumnsContainer extends Container {
41
41
  Ticker.shared.add((delta) => this.animate(delta));
42
42
  this.doResize();
43
43
  }
44
+ resolveMysterySpeedUp() {
45
+ this.allColumns.forEach((column) => {
46
+ if (column.resolveMysterySpeedUp === null)
47
+ return;
48
+ column.resolveMysterySpeedUp();
49
+ });
50
+ }
44
51
  adaptToSpeed(speedLevel) {
45
52
  this.velocityMultiplier = this.speedLevelMapper[speedLevel];
46
53
  }
@@ -48,6 +55,7 @@ export class AbstractColumnsContainer extends Container {
48
55
  RainMan.componentRegistry.setTemporarySpeedLevel(SPEED_LEVELS.fast);
49
56
  this.quickReelsStop = true;
50
57
  this.skipScatterDelay?.();
58
+ this.resolveMysterySpeedUp();
51
59
  this.skipScatterDelay = null;
52
60
  if (this.currentColumn)
53
61
  this.currentColumn.skipHidingMysteryFx = true;
@@ -83,16 +91,16 @@ export class AbstractColumnsContainer extends Container {
83
91
  break;
84
92
  }
85
93
  const configureSpinAction = configuredBlindSpinsActions.shift();
86
- indexesOfReelsToExtendSpinningTime.forEach((number) => {
87
- this.allColumns[number].changeMultiplier();
88
- });
89
94
  if (configureSpinAction !== undefined) {
90
95
  if (indexesOfReelsToExtendSpinningTime.includes(index)) {
96
+ indexesOfReelsToExtendSpinningTime.forEach((number) => {
97
+ this.allColumns[number].changeMultiplier();
98
+ });
91
99
  this.currentColumn = this.allColumns[index];
92
100
  this.currentColumn.adaptToSpeed(RainMan.settingsStore.currentSpeed);
93
101
  frame.invokeMysteryFx(this.currentColumn.x, this.currentColumn.y);
94
- await this.currentColumn.speedUpForMysterySpin(100, 1500);
95
102
  this.skipScatterDelay = configureSpinAction;
103
+ await this.currentColumn.speedUpForMysterySpin(100, 1500);
96
104
  setTimeout(() => {
97
105
  this.skipScatterDelay?.();
98
106
  this.skipScatterDelay = null;
@@ -1,7 +1,7 @@
1
1
  import { Container } from "pixi.js";
2
2
  import { SpeedAdapterInterface, SpeedLevel, SymbolId } from "../../application";
3
3
  import { DropTransformationDetails, SymbolReel } from "../../connectivity";
4
- import { Nullable } from "../../utils";
4
+ import { Nullable, VoidPromiseResolver } from "../../utils";
5
5
  import { AbstractColumnsContainer, AbstractFrame } from "../frame";
6
6
  import { AbstractSymbolBase } from "./AbstractSymbolBase";
7
7
  import { AnimationTimeSettings } from "./types";
@@ -30,6 +30,7 @@ export declare abstract class AbstractSymbolsColumn extends Container implements
30
30
  private lastEnding;
31
31
  private tween;
32
32
  private wiggleTween;
33
+ resolveMysterySpeedUp: Nullable<VoidPromiseResolver>;
33
34
  private resolver;
34
35
  private shouldMoveToTop;
35
36
  private droppingTweens;
@@ -32,6 +32,7 @@ export class AbstractSymbolsColumn extends Container {
32
32
  lastEnding = [];
33
33
  tween;
34
34
  wiggleTween = null;
35
+ resolveMysterySpeedUp = null;
35
36
  resolver = null;
36
37
  shouldMoveToTop = true;
37
38
  droppingTweens;
@@ -84,6 +85,7 @@ export class AbstractSymbolsColumn extends Container {
84
85
  }
85
86
  async speedUpForMysterySpin(velocity, duration) {
86
87
  await new Promise((resolve) => {
88
+ this.resolveMysterySpeedUp = resolve;
87
89
  this.tween = new TWEEN.Tween({ velocity: velocity })
88
90
  .to({ value: 70 }, duration)
89
91
  .easing(TWEEN.Easing.Linear.None)
@@ -92,6 +94,7 @@ export class AbstractSymbolsColumn extends Container {
92
94
  })
93
95
  .onComplete(() => {
94
96
  this.tween = null;
97
+ this.resolveMysterySpeedUp = null;
95
98
  resolve();
96
99
  })
97
100
  .start();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixi-rainman-game-engine",
3
- "version": "0.1.51",
3
+ "version": "0.1.52",
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",