pixi-rainman-game-engine 0.3.30 → 0.3.31
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.
|
@@ -101,6 +101,7 @@ export class AbstractColumnsContainer extends Container {
|
|
|
101
101
|
RainMan.settingsStore.setIsTemporarySpeed(true);
|
|
102
102
|
RainMan.componentRegistry.setTemporarySpeedLevel(SPEED_LEVELS.fast);
|
|
103
103
|
this.executePendingMysteryFx();
|
|
104
|
+
this.currentColumn?.releaseNextColumnTrigger();
|
|
104
105
|
this.resolveMysterySpeedUp();
|
|
105
106
|
if (this.currentColumn) {
|
|
106
107
|
this.currentColumn.skipHidingMysteryFx = true;
|
|
@@ -431,8 +432,10 @@ export class AbstractColumnsContainer extends Container {
|
|
|
431
432
|
*/
|
|
432
433
|
prepareConfiguringReelsEnd(finalSymbolReels) {
|
|
433
434
|
return this.allColumns.map((column, index) => async () => {
|
|
435
|
+
this.currentColumn = column;
|
|
434
436
|
column.configBlindSpin(finalSymbolReels[index]);
|
|
435
437
|
await column.getTriggersPromise();
|
|
438
|
+
this.currentColumn = null;
|
|
436
439
|
});
|
|
437
440
|
}
|
|
438
441
|
}
|
|
@@ -167,6 +167,12 @@ export declare abstract class AbstractSymbolsColumn extends Container implements
|
|
|
167
167
|
* @returns {Promise<void>} stop promise
|
|
168
168
|
*/
|
|
169
169
|
getStopPromise(): Promise<void>;
|
|
170
|
+
/**
|
|
171
|
+
* Function for releasing trigger to next column
|
|
172
|
+
* @public
|
|
173
|
+
* @returns {void}
|
|
174
|
+
*/
|
|
175
|
+
releaseNextColumnTrigger(): void;
|
|
170
176
|
/**
|
|
171
177
|
* Function for stopping all playing animations of symbols
|
|
172
178
|
* @public
|
|
@@ -298,6 +298,17 @@ export class AbstractSymbolsColumn extends Container {
|
|
|
298
298
|
}
|
|
299
299
|
throw new Error("No promise to return");
|
|
300
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Function for releasing trigger to next column
|
|
303
|
+
* @public
|
|
304
|
+
* @returns {void}
|
|
305
|
+
*/
|
|
306
|
+
releaseNextColumnTrigger() {
|
|
307
|
+
if (this.triggerNextColumn !== null) {
|
|
308
|
+
this.triggerNextColumn();
|
|
309
|
+
this.triggerNextColumn = null;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
301
312
|
/**
|
|
302
313
|
* Function for stopping all playing animations of symbols
|
|
303
314
|
* @public
|
|
@@ -618,12 +629,9 @@ export class AbstractSymbolsColumn extends Container {
|
|
|
618
629
|
if (element) {
|
|
619
630
|
// swap symbol with chosen element
|
|
620
631
|
symbol.swapSymbol(element);
|
|
621
|
-
// symbol.setSpineMode(MOVE3);
|
|
622
632
|
}
|
|
623
633
|
if (this.ending.length === 1) {
|
|
624
|
-
|
|
625
|
-
this.triggerNextColumn();
|
|
626
|
-
}
|
|
634
|
+
this.releaseNextColumnTrigger();
|
|
627
635
|
}
|
|
628
636
|
if (this.ending.length === 0) {
|
|
629
637
|
this.shouldMoveToTop = false;
|
|
@@ -482,30 +482,47 @@ export class AbstractController {
|
|
|
482
482
|
this.clearMobileSpinTimeout();
|
|
483
483
|
});
|
|
484
484
|
refreshButton.on("touchstart", () => {
|
|
485
|
+
if (this.mobileSpinTimeout) {
|
|
486
|
+
clearInterval(this.mobileSpinTimeout);
|
|
487
|
+
this.mobileSpinTimeout = null;
|
|
488
|
+
}
|
|
489
|
+
if (this.mobileSpinDelay) {
|
|
490
|
+
clearTimeout(this.mobileSpinDelay);
|
|
491
|
+
this.mobileSpinDelay = null;
|
|
492
|
+
}
|
|
485
493
|
if (this.buttonHeldSince === 0) {
|
|
486
494
|
this.buttonHeldSince = Date.now();
|
|
487
495
|
}
|
|
488
|
-
this.
|
|
489
|
-
|
|
490
|
-
if (
|
|
491
|
-
this.columnsContainer.enableQuickReelsStop();
|
|
492
|
-
}
|
|
493
|
-
this.handleDisablingButtons(true);
|
|
494
|
-
this.quickStopController.setQuickStopCounterLock(true);
|
|
495
|
-
this.summaryStop = this.skipFreeSpinSummary ? false : this.invokeFreeSpinSummaryPlateAfterWin;
|
|
496
|
-
if (this.invokeFreeSpinPlateAfterWin ||
|
|
497
|
-
this.summaryStop ||
|
|
498
|
-
this.shouldStopMobileSpin ||
|
|
499
|
-
this.resolveBigWin !== undefined ||
|
|
500
|
-
this.resolveSuperBonusWin !== undefined ||
|
|
501
|
-
this.resolveMysteryWin !== undefined) {
|
|
502
|
-
if (this.clearMobileSpinTimeout) {
|
|
503
|
-
this.clearMobileSpinTimeout();
|
|
504
|
-
}
|
|
496
|
+
this.mobileSpinDelay = setTimeout(() => {
|
|
497
|
+
this.mobileSpinDelay = null;
|
|
498
|
+
if (this.buttonHeldSince === 0) {
|
|
505
499
|
return;
|
|
506
500
|
}
|
|
507
|
-
this.
|
|
508
|
-
|
|
501
|
+
this.mobileSpinTimeout = setInterval(() => {
|
|
502
|
+
if (this.buttonHeldSince === 0) {
|
|
503
|
+
if (this.clearMobileSpinTimeout) {
|
|
504
|
+
this.clearMobileSpinTimeout();
|
|
505
|
+
}
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
this.columnsContainer.enableQuickReelsStop();
|
|
509
|
+
this.handleDisablingButtons(true);
|
|
510
|
+
this.quickStopController.setQuickStopCounterLock(true);
|
|
511
|
+
this.summaryStop = this.skipFreeSpinSummary ? false : this.invokeFreeSpinSummaryPlateAfterWin;
|
|
512
|
+
if (this.invokeFreeSpinPlateAfterWin ||
|
|
513
|
+
this.summaryStop ||
|
|
514
|
+
this.shouldStopMobileSpin ||
|
|
515
|
+
this.resolveBigWin !== undefined ||
|
|
516
|
+
this.resolveSuperBonusWin !== undefined ||
|
|
517
|
+
this.resolveMysteryWin !== undefined) {
|
|
518
|
+
if (this.clearMobileSpinTimeout) {
|
|
519
|
+
this.clearMobileSpinTimeout();
|
|
520
|
+
}
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
this.handleSpinLogic();
|
|
524
|
+
}, RainMan.config.durationOfActions.mobileSpinTimeout);
|
|
525
|
+
}, 250);
|
|
509
526
|
});
|
|
510
527
|
}
|
|
511
528
|
/**
|
package/package.json
CHANGED