@truelab/truengine 5.1.1 → 5.2.0
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/truengine.js +2247 -2118
- package/dist/types/src/components/cheat.panel.animations.d.ts +21 -1
- package/dist/types/src/components/cheat.panel.animations.d.ts.map +1 -1
- package/dist/types/src/components/fly/fly.types.d.ts +2 -2
- package/dist/types/src/components/fly/fly.types.d.ts.map +1 -1
- package/dist/types/src/components/slot/frames/frames.component.d.ts +6 -3
- package/dist/types/src/components/slot/frames/frames.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/hints/hints.component.d.ts +50 -30
- package/dist/types/src/components/slot/hints/hints.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/intrigue/intrigue.blaze.component.d.ts +26 -5
- package/dist/types/src/components/slot/intrigue/intrigue.blaze.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/intrigue/intrigue.component.d.ts +40 -28
- package/dist/types/src/components/slot/intrigue/intrigue.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/intrigue/intrigue.switch.component.d.ts +0 -9
- package/dist/types/src/components/slot/intrigue/intrigue.switch.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/lines/lines.component.d.ts +19 -11
- package/dist/types/src/components/slot/lines/lines.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/lines/lines.spine.component.d.ts +1 -3
- package/dist/types/src/components/slot/lines/lines.spine.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/lines/lines.static.component.d.ts +68 -59
- package/dist/types/src/components/slot/lines/lines.static.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/payout/payout.base.component.d.ts +45 -28
- package/dist/types/src/components/slot/payout/payout.base.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/payout/payout.component.d.ts +1 -30
- package/dist/types/src/components/slot/payout/payout.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/payout/total-payout.component.d.ts +3 -2
- package/dist/types/src/components/slot/payout/total-payout.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/reel.component.d.ts +72 -64
- package/dist/types/src/components/slot/reel.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/slot.cheats.d.ts.map +1 -1
- package/dist/types/src/components/slot/slot.component.d.ts +13 -16
- package/dist/types/src/components/slot/slot.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/slot.config.d.ts +78 -43
- package/dist/types/src/components/slot/slot.config.d.ts.map +1 -1
- package/dist/types/src/components/slot/symbol/symbol.component.d.ts +34 -29
- package/dist/types/src/components/slot/symbol/symbol.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/symbol/symbol.value.spine.component.d.ts +3 -2
- package/dist/types/src/components/slot/symbol/symbol.value.spine.component.d.ts.map +1 -1
- package/dist/types/src/components/slot/value/value.component.d.ts +28 -24
- package/dist/types/src/components/slot/value/value.component.d.ts.map +1 -1
- package/dist/types/src/extends/short.types.d.ts +7 -0
- package/dist/types/src/extends/short.types.d.ts.map +1 -1
- package/dist/types/src/scenes/background.scene.d.ts +19 -2
- package/dist/types/src/scenes/background.scene.d.ts.map +1 -1
- package/dist/types/src/version.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,84 +1,69 @@
|
|
|
1
|
-
import { ColorSource, Graphics, MeshRope, Shader, Sprite } from 'pixi.js';
|
|
2
|
-
import { TNumberArray, TSupportContainer } from '../../../extends/short.types';
|
|
1
|
+
import { ColorSource, Graphics, MeshRope, Point, Shader, Sprite } from 'pixi.js';
|
|
2
|
+
import { TDeepPartial, TNumberArray, TSupportContainer } from '../../../extends/short.types';
|
|
3
3
|
import { TAnimationEntry, TAnimationParam } from '../../animation.catalog';
|
|
4
4
|
import { FWLinesComponent } from './lines.component';
|
|
5
5
|
/** How a static win line appears on screen */
|
|
6
6
|
export type TLinesRevealMode = 'fade' | 'mask' | 'rope' | 'shader';
|
|
7
7
|
/** Mode name or a partial config; takes priority over `static.reveal` */
|
|
8
|
-
export type TLinesRevealArg = TLinesRevealMode | TLinesRevealConfig
|
|
8
|
+
export type TLinesRevealArg = TLinesRevealMode | TDeepPartial<TLinesRevealConfig>;
|
|
9
|
+
/** Appear animation of a static line; defaults live in `slotComponentConfig.components.lines.static.reveal` */
|
|
9
10
|
export type TLinesRevealConfig = {
|
|
10
|
-
/** `false` keeps the timings but falls back to the legacy fade
|
|
11
|
-
enabled
|
|
12
|
-
/** Default `'fade'` — the legacy alpha fade-in */
|
|
13
|
-
mode?: TLinesRevealMode;
|
|
14
|
-
/** Seconds. Default `duration.fadeIn` (0.2); `0` — show without an appear animation */
|
|
15
|
-
duration?: number;
|
|
16
|
-
ease?: string | gsap.EaseFunction;
|
|
17
|
-
mask?: {
|
|
18
|
-
/** Soft gradient edge at the reveal front, px. Default `0` — hard edge */
|
|
19
|
-
featherSize?: number;
|
|
20
|
-
};
|
|
21
|
-
shader?: {
|
|
22
|
-
/** Line thickness, px. Default — the height of the line texture */
|
|
23
|
-
thickness?: number;
|
|
24
|
-
/** Colour of the glow; the core of the line stays white. Default `0xffd65a` */
|
|
25
|
-
color?: ColorSource;
|
|
26
|
-
/** Soft edge at the reveal front, px along the line. Default `24` */
|
|
27
|
-
featherSize?: number;
|
|
28
|
-
/** Bright head at the reveal front, px along the line. Default `48`, `0` — off */
|
|
29
|
-
headSize?: number;
|
|
30
|
-
/** Soft taper at both ends of the line, px. Default `24`, `0` — cut straight across */
|
|
31
|
-
capSize?: number;
|
|
32
|
-
/** Shimmer running along the line */
|
|
33
|
-
shimmer?: {
|
|
34
|
-
/** Depth, `0`..`1`. Default `0.18`, `0` — off */
|
|
35
|
-
amount?: number;
|
|
36
|
-
/** Waves per second. Default `1.1` */
|
|
37
|
-
speed?: number;
|
|
38
|
-
/** Length of one wave, px along the line. Default `175` */
|
|
39
|
-
length?: number;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
export type TLinesStaticConfig = {
|
|
44
|
-
assetName?: string;
|
|
45
|
-
lineTextureName?: string;
|
|
46
|
-
duration?: {
|
|
47
|
-
display?: number;
|
|
48
|
-
fadeIn?: number;
|
|
49
|
-
fadeOut?: number;
|
|
50
|
-
};
|
|
51
|
-
/** Interpolated points per segment, rounds the corners. Default `32`; over `6` a 5-reel line is no longer auto-batched */
|
|
52
|
-
stepsBetweenPoints?: number;
|
|
53
|
-
easeFunction?: string | gsap.EaseFunction;
|
|
54
|
-
/** Length of both ends of a line past the grid edge, px. Negative — pull them in under the board art */
|
|
55
|
-
correction?: number;
|
|
56
|
-
/** Appear animation. Omitted → legacy alpha fade-in */
|
|
57
|
-
reveal?: TLinesRevealConfig;
|
|
58
|
-
/** `MeshGeometry.batchMode` for line ropes; `'batch'` draws a mass display in one call. Default `'auto'` */
|
|
59
|
-
batchMode?: 'auto' | 'batch' | 'no-batch';
|
|
60
|
-
};
|
|
61
|
-
/** `static.reveal` with every default filled in */
|
|
62
|
-
type TResolvedReveal = {
|
|
11
|
+
/** `false` keeps the timings but falls back to the legacy fade */
|
|
12
|
+
enabled: boolean;
|
|
63
13
|
mode: TLinesRevealMode;
|
|
64
|
-
duration
|
|
14
|
+
/** Seconds. Default — `duration.fadeIn`; `0` — show without an appear animation */
|
|
15
|
+
duration?: number;
|
|
16
|
+
/** Default — the ease of the mode */
|
|
65
17
|
ease?: string | gsap.EaseFunction;
|
|
66
18
|
mask: {
|
|
19
|
+
/** Soft gradient edge at the reveal front, px; `0` — hard edge */
|
|
67
20
|
featherSize: number;
|
|
68
21
|
};
|
|
69
22
|
shader: {
|
|
23
|
+
/** Line thickness, px. Default — the height of the line texture */
|
|
70
24
|
thickness?: number;
|
|
25
|
+
/** Colour of the glow; the core of the line stays white */
|
|
71
26
|
color: ColorSource;
|
|
27
|
+
/** Soft edge at the reveal front, px along the line */
|
|
72
28
|
featherSize: number;
|
|
29
|
+
/** Bright head at the reveal front, px along the line; `0` — off */
|
|
73
30
|
headSize: number;
|
|
31
|
+
/** Soft taper at both ends of the line, px; `0` — cut straight across */
|
|
74
32
|
capSize: number;
|
|
33
|
+
/** Shimmer running along the line */
|
|
75
34
|
shimmer: {
|
|
35
|
+
/** Depth, `0`..`1`; `0` — off */
|
|
76
36
|
amount: number;
|
|
37
|
+
/** Waves per second */
|
|
77
38
|
speed: number;
|
|
39
|
+
/** Length of one wave, px along the line */
|
|
78
40
|
length: number;
|
|
79
41
|
};
|
|
80
42
|
};
|
|
81
43
|
};
|
|
44
|
+
/** Static lines; defaults live in `slotComponentConfig.components.lines.static` */
|
|
45
|
+
export type TLinesStaticConfig = {
|
|
46
|
+
assetName: string;
|
|
47
|
+
lineTextureName: string;
|
|
48
|
+
duration: {
|
|
49
|
+
display: number;
|
|
50
|
+
fadeIn: number;
|
|
51
|
+
fadeOut: number;
|
|
52
|
+
};
|
|
53
|
+
/** Interpolated points per segment, rounds the corners; over `6` a 5-reel line is no longer auto-batched */
|
|
54
|
+
stepsBetweenPoints: number;
|
|
55
|
+
easeFunction: string | gsap.EaseFunction;
|
|
56
|
+
/** Length of both ends of a line past the grid edge, px. Negative — pull them in under the board art */
|
|
57
|
+
correction: number;
|
|
58
|
+
/** Appear animation */
|
|
59
|
+
reveal: TLinesRevealConfig;
|
|
60
|
+
/** `MeshGeometry.batchMode` for line ropes; `'batch'` draws a mass display in one call */
|
|
61
|
+
batchMode: 'auto' | 'batch' | 'no-batch';
|
|
62
|
+
};
|
|
63
|
+
/** `static.reveal` with the per-call override applied and `duration` resolved */
|
|
64
|
+
type TResolvedReveal = TLinesRevealConfig & {
|
|
65
|
+
duration: number;
|
|
66
|
+
};
|
|
82
67
|
/** Applies the reveal progress (0..1) to one line */
|
|
83
68
|
type TRevealApply = (progress: number) => void;
|
|
84
69
|
/** Lines static component */
|
|
@@ -87,6 +72,15 @@ export declare class FWLinesStaticComponent extends FWLinesComponent {
|
|
|
87
72
|
protected timelines: Set<gsap.core.Timeline>;
|
|
88
73
|
previewLines: MeshRope[];
|
|
89
74
|
protected _currentTimeline: gsap.core.Timeline | null;
|
|
75
|
+
/**
|
|
76
|
+
* Hidden ropes ready for reuse, bucketed by point count: a rope's geometry is built for a fixed
|
|
77
|
+
* number of points, so only a line of the same shape length can take it over.
|
|
78
|
+
*/
|
|
79
|
+
protected _linePool: Map<number, MeshRope[]>;
|
|
80
|
+
/** Point count of a poolable rope. Absent → the rope must be destroyed, not pooled */
|
|
81
|
+
protected _lineKeys: WeakMap<MeshRope, number>;
|
|
82
|
+
/** Appear/hide timeline of each preview line — killed before the rope goes back to the pool */
|
|
83
|
+
protected _previewTimelines: Map<MeshRope, gsap.core.Timeline>;
|
|
90
84
|
protected _revealMask: Sprite | Graphics | null;
|
|
91
85
|
protected _revealMaskFeather: number;
|
|
92
86
|
protected _maskShownX: number;
|
|
@@ -104,6 +98,21 @@ export declare class FWLinesStaticComponent extends FWLinesComponent {
|
|
|
104
98
|
animate(line: TNumberArray, _lineIndex?: number, reveal?: TLinesRevealArg): Promise<void>;
|
|
105
99
|
/** Creates a line from an array of positions */
|
|
106
100
|
protected createLine(line: TNumberArray): MeshRope;
|
|
101
|
+
/**
|
|
102
|
+
* Takes a hidden rope of the same shape length from the pool, otherwise builds one.
|
|
103
|
+
* A shader line is never pooled: it rebuilds its geometry and swaps in its own shader.
|
|
104
|
+
*/
|
|
105
|
+
protected _acquireLine(line: TNumberArray, reveal: TResolvedReveal): MeshRope;
|
|
106
|
+
/** Hides a rope and returns it to the pool; a rope that cannot be reused is destroyed */
|
|
107
|
+
protected _releaseLine(rope: MeshRope): void;
|
|
108
|
+
/** Kills the timeline of a preview line and returns its rope to the pool */
|
|
109
|
+
protected _releasePreviewLine(rope: MeshRope): void;
|
|
110
|
+
/** Points of a line, with both ends extended past the grid edge */
|
|
111
|
+
protected _linePoints(line: TNumberArray): Point[];
|
|
112
|
+
/** Builds a rope over ready points */
|
|
113
|
+
protected _buildLine(points: Point[]): MeshRope;
|
|
114
|
+
/** Destroys the pooled ropes — teardown only */
|
|
115
|
+
protected _destroyLinePool(): void;
|
|
107
116
|
/** Breaks animation */
|
|
108
117
|
break(): void;
|
|
109
118
|
/** Show preview line. `{ duration: 0 }` shows it without an appear animation */
|
|
@@ -114,7 +123,7 @@ export declare class FWLinesStaticComponent extends FWLinesComponent {
|
|
|
114
123
|
hidePreviewLineInstant(): Promise<void>;
|
|
115
124
|
/** @inheritdoc */
|
|
116
125
|
destroy(): Promise<this>;
|
|
117
|
-
/**
|
|
126
|
+
/** `static.reveal` ← per-call override; `fallbackDuration` stands in for `duration.fadeIn` */
|
|
118
127
|
protected _resolveReveal(override?: TLinesRevealArg, fallbackDuration?: number): TResolvedReveal;
|
|
119
128
|
/** Appends the appear animation to the line timeline */
|
|
120
129
|
protected _appendReveal(timeline: gsap.core.Timeline, meshLine: MeshRope, reveal: TResolvedReveal): void;
|
|
@@ -142,7 +151,7 @@ export declare class FWLinesStaticComponent extends FWLinesComponent {
|
|
|
142
151
|
protected _ensureRevealMask(featherSize: number): Sprite | Graphics;
|
|
143
152
|
/** Publishes the win lines in the animation catalog (cheat panel, tab Anim); the last created component wins */
|
|
144
153
|
protected _registerInCatalog(): void;
|
|
145
|
-
/** Live `static.reveal`
|
|
154
|
+
/** Live `static.reveal` — the panel writes settings straight into it */
|
|
146
155
|
protected _revealConfig(): TLinesRevealConfig;
|
|
147
156
|
/** Settings of the current mode only — the panel asks for them again after a mode switch */
|
|
148
157
|
protected _catalogParams(): TAnimationParam[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lines.static.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/lines/lines.static.component.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,WAAW,EACX,QAAQ,EACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"lines.static.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/lines/lines.static.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,66 +1,84 @@
|
|
|
1
1
|
import { BitmapText, TBitmapTextOptions } from '../../../classes/bitmap.text.class';
|
|
2
2
|
import { Container } from '../../../classes/container.class';
|
|
3
3
|
import { IComponent } from '../../../extends/interfaces';
|
|
4
|
-
import { TGsapTimeline, TGsapTween, TPixiPoint, TPixiSprite, TSupportContainer } from '../../../extends/short.types';
|
|
4
|
+
import { TGsapEase, TGsapTimeline, TGsapTween, TPixiPoint, TPixiSprite, TSupportContainer } from '../../../extends/short.types';
|
|
5
5
|
import { TPoint, TSymbolsPayoutBase } from '../../../extends/struct.types';
|
|
6
6
|
import { AbstractComponent } from '../../abstract.component';
|
|
7
7
|
import { TextComponent } from '../../text.component';
|
|
8
8
|
import { TGridConfig } from '../slot.config';
|
|
9
9
|
import * as PIXI from 'pixi.js';
|
|
10
10
|
export type TCurrencyConfig = {
|
|
11
|
-
enabled
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
/** Текст валюты для фолбэка без truelogic */
|
|
12
13
|
value?: string;
|
|
14
|
+
/** Задан — валюта рисуется отдельным текстом */
|
|
13
15
|
style?: Partial<PIXI.TextStyle> | TBitmapTextOptions;
|
|
14
|
-
offset
|
|
15
|
-
autoScale
|
|
16
|
+
offset: TPoint;
|
|
17
|
+
autoScale: boolean;
|
|
16
18
|
offsetByScale?: (scale: number) => number;
|
|
17
|
-
fixedGap
|
|
19
|
+
fixedGap: boolean;
|
|
18
20
|
};
|
|
19
21
|
export type TTextConfig = {
|
|
20
|
-
|
|
22
|
+
/** Стиль текста выплаты. Дефолта нет — задаёт игра */
|
|
23
|
+
style: Partial<PIXI.TextStyle> | TBitmapTextOptions;
|
|
24
|
+
/** По умолчанию — ширина сетки */
|
|
21
25
|
maxWidth?: number;
|
|
22
|
-
currency
|
|
26
|
+
currency: TCurrencyConfig;
|
|
23
27
|
textOffset?: TPoint;
|
|
24
|
-
upscale
|
|
28
|
+
upscale: boolean;
|
|
25
29
|
};
|
|
26
30
|
export type TAnimationConfig = {
|
|
27
|
-
durationDisplay
|
|
31
|
+
durationDisplay: number;
|
|
32
|
+
/** По умолчанию — `durationDisplay` */
|
|
28
33
|
durationDisplayFast?: number;
|
|
29
34
|
initial?: gsap.TweenVars;
|
|
30
35
|
animateShow?: [gsap.TweenVars, Partial<gsap.TweenVars>?];
|
|
31
36
|
animateHide?: [gsap.TweenVars, Partial<gsap.TweenVars>?];
|
|
32
|
-
counter
|
|
33
|
-
enabled
|
|
37
|
+
counter: {
|
|
38
|
+
enabled: boolean;
|
|
39
|
+
/** По умолчанию — `durationDisplay` */
|
|
34
40
|
duration?: number;
|
|
35
|
-
ease
|
|
36
|
-
delay
|
|
41
|
+
ease: TGsapEase;
|
|
42
|
+
delay: number;
|
|
37
43
|
};
|
|
38
44
|
};
|
|
39
45
|
export type TPositioningConfig = {
|
|
40
|
-
offset
|
|
41
|
-
chessOffset
|
|
46
|
+
offset: TPoint;
|
|
47
|
+
chessOffset: number;
|
|
48
|
+
/** Задана — заменяет расчётную позицию */
|
|
42
49
|
customPosition?: TPoint;
|
|
43
50
|
iReel?: number | ((positions: number[]) => number);
|
|
44
51
|
};
|
|
45
52
|
export type TEffectsConfig = {
|
|
46
|
-
glow
|
|
47
|
-
enabled
|
|
53
|
+
glow: {
|
|
54
|
+
enabled: boolean;
|
|
55
|
+
/** Обязательны при `enabled` */
|
|
48
56
|
assetName?: string;
|
|
49
57
|
textureName?: string;
|
|
50
|
-
scaleMultiplier
|
|
51
|
-
padding
|
|
52
|
-
alpha
|
|
58
|
+
scaleMultiplier: TPoint;
|
|
59
|
+
padding: TPoint;
|
|
60
|
+
alpha: number;
|
|
53
61
|
};
|
|
54
62
|
};
|
|
63
|
+
/**
|
|
64
|
+
* Полный конфиг компонента выплат — таким его получает фабрика после наложения дефолтов
|
|
65
|
+
* (`payoutComponentConfig` / `slotComponentConfig.components.totalPayout`)
|
|
66
|
+
*/
|
|
55
67
|
export type TPayoutConfig = {
|
|
56
|
-
|
|
68
|
+
enabled: boolean;
|
|
69
|
+
fastModeTimeScale: number;
|
|
70
|
+
/** Проставляет слот */
|
|
57
71
|
grid?: TGridConfig;
|
|
58
|
-
text
|
|
59
|
-
animation
|
|
60
|
-
positioning
|
|
61
|
-
effects
|
|
62
|
-
avoidOverlap
|
|
63
|
-
overlapRadius
|
|
72
|
+
text: TTextConfig;
|
|
73
|
+
animation: TAnimationConfig;
|
|
74
|
+
positioning: TPositioningConfig;
|
|
75
|
+
effects: TEffectsConfig;
|
|
76
|
+
avoidOverlap: boolean;
|
|
77
|
+
overlapRadius: number;
|
|
78
|
+
};
|
|
79
|
+
/** Дефолты выплат: всё из `TPayoutConfig`, кроме `text.style` — стиль задаёт игра */
|
|
80
|
+
export type TPayoutConfigDefaults = Omit<TPayoutConfig, 'text'> & {
|
|
81
|
+
text: Omit<TTextConfig, 'style'>;
|
|
64
82
|
};
|
|
65
83
|
export type TTotalPayoutConfig = TPayoutConfig & {
|
|
66
84
|
enableSkipAfter?: number;
|
|
@@ -114,7 +132,6 @@ export declare abstract class FWPayoutBaseComponent extends AbstractComponent im
|
|
|
114
132
|
protected _occupiedPositions: TPoint[];
|
|
115
133
|
protected _payouts: Map<TSymbolsPayout, TPayoutData>;
|
|
116
134
|
protected _visualsPool: Map<string, TPayoutVisual[]>;
|
|
117
|
-
protected _defaultEaseCounter: string;
|
|
118
135
|
constructor(name: string, config: TPayoutConfig, grid: TGridConfig);
|
|
119
136
|
get _durationDisplay(): number;
|
|
120
137
|
get _counterPosition(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payout.base.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/payout/payout.base.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAG/B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"payout.base.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/payout/payout.base.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ease } from '../../../extends/enum.types';
|
|
2
1
|
import { TPoint } from '../../../extends/struct.types';
|
|
3
2
|
import { TGridConfig } from '../slot.config';
|
|
4
3
|
import { FWPayoutBaseComponent, TPayoutConfig, TSymbolsPayout } from './payout.base.component';
|
|
@@ -14,8 +13,7 @@ import { FWPayoutBaseComponent, TPayoutConfig, TSymbolsPayout } from './payout.b
|
|
|
14
13
|
* payout: {
|
|
15
14
|
* text: {
|
|
16
15
|
* style: { fill: 0xFFFFFF, fontSize: 40 },
|
|
17
|
-
*
|
|
18
|
-
* currencyStyle: { fill: 0xFFD700, fontSize: 20 }
|
|
16
|
+
* currency: { enabled: true, style: { fill: 0xFFD700, fontSize: 20 } }
|
|
19
17
|
* },
|
|
20
18
|
* animation: {
|
|
21
19
|
* durationDisplay: 2,
|
|
@@ -64,32 +62,5 @@ export declare class FWPayoutComponent extends FWPayoutBaseComponent {
|
|
|
64
62
|
applyEdgeCorrection: boolean;
|
|
65
63
|
maxWidth: number;
|
|
66
64
|
};
|
|
67
|
-
/**
|
|
68
|
-
* Gets default animation values with ease for line/cascade payouts
|
|
69
|
-
*/
|
|
70
|
-
protected _getAnimationDefaults(): {
|
|
71
|
-
initial: {
|
|
72
|
-
pixi: {
|
|
73
|
-
alpha: number;
|
|
74
|
-
scale: number;
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
animateShow: {
|
|
78
|
-
duration: number;
|
|
79
|
-
pixi: {
|
|
80
|
-
alpha: number;
|
|
81
|
-
scale: number;
|
|
82
|
-
};
|
|
83
|
-
ease: ease;
|
|
84
|
-
};
|
|
85
|
-
animateHide: {
|
|
86
|
-
duration: number;
|
|
87
|
-
pixi: {
|
|
88
|
-
alpha: number;
|
|
89
|
-
scale: number;
|
|
90
|
-
};
|
|
91
|
-
ease: ease;
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
65
|
}
|
|
95
66
|
//# sourceMappingURL=payout.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payout.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/payout/payout.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"payout.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/payout/payout.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,iBAAkB,SAAQ,qBAAqB;gBAC5C,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW;IAIpD;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM;IAOhE;;;OAGG;IACH,SAAS,CAAC,oBAAoB;;;;;CAOjC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { TGsapTimeline } from '../../../extends/short.types';
|
|
2
2
|
import { TGridConfig } from '../slot.config';
|
|
3
|
-
import { FWPayoutBaseComponent,
|
|
3
|
+
import { FWPayoutBaseComponent, TSymbolsPayout, TTotalPayoutConfig } from './payout.base.component';
|
|
4
4
|
export declare class FWTotalPayoutComponent extends FWPayoutBaseComponent {
|
|
5
|
+
protected _config: TTotalPayoutConfig;
|
|
5
6
|
protected _timelineTotal: TGsapTimeline | null;
|
|
6
|
-
constructor(config:
|
|
7
|
+
constructor(config: TTotalPayoutConfig, grid?: TGridConfig);
|
|
7
8
|
/**
|
|
8
9
|
* Hook: emit events after animation
|
|
9
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"total-payout.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/payout/total-payout.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"total-payout.component.d.ts","sourceRoot":"","sources":["../../../../../../src/components/slot/payout/total-payout.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEnG,qBAAa,sBAAuB,SAAQ,qBAAqB;IAC7D,UAAkB,OAAO,EAAE,kBAAkB,CAAA;IAE7C,SAAS,CAAC,cAAc,EAAE,aAAa,GAAG,IAAI,CAAO;gBAEzC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,WAAW;IAU1D;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;OAIG;IACH,SAAS,CAAC,oBAAoB;;;;;IAQ9B;;OAEG;cACa,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCtE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,KAAK,IAAI,IAAI;IAOb,SAAS,CAAC,MAAM,IAAI,IAAI;CAQ3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Container } from '../../classes/container.class';
|
|
2
2
|
import { IComponent } from '../../extends/interfaces';
|
|
3
|
-
import { TGsapTimeline, TGsapTween, TNumberArray, TNumberArrays, TPixiSprite, TSupportContainer } from '../../extends/short.types';
|
|
3
|
+
import { TGsapEase, TGsapTimeline, TGsapTween, TNumberArray, TNumberArrays, TPixiSprite, TSupportContainer } from '../../extends/short.types';
|
|
4
4
|
import { TSymbolMoveBase } from '../../extends/struct.types';
|
|
5
5
|
import { AbstractComponent } from '../abstract.component';
|
|
6
6
|
import { TConfigIntrigueComponent } from './intrigue/intrigue.component';
|
|
@@ -49,32 +49,37 @@ type TSymbolMotionConfig = {
|
|
|
49
49
|
};
|
|
50
50
|
/** All time values in seconds, [normal, fast] */
|
|
51
51
|
export type TCascadeTimings = {
|
|
52
|
-
timeScale
|
|
53
|
-
distance
|
|
54
|
-
duration
|
|
55
|
-
enableMotion
|
|
56
|
-
disableMotion
|
|
57
|
-
reelsDelay
|
|
58
|
-
rowsDelay
|
|
59
|
-
ease
|
|
52
|
+
timeScale: [number, number];
|
|
53
|
+
distance: [number, number];
|
|
54
|
+
duration: [number, number];
|
|
55
|
+
enableMotion: [number, number];
|
|
56
|
+
disableMotion: [number, number];
|
|
57
|
+
reelsDelay: [number, number];
|
|
58
|
+
rowsDelay: [number, number];
|
|
59
|
+
ease: TGsapEase;
|
|
60
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* Полный конфиг барабана — таким его получает фабрика после наложения дефолтов слота.
|
|
63
|
+
* Поля с `?` проставляет слот из своей геометрии
|
|
64
|
+
*/
|
|
61
65
|
export type TConfigReelComponent = {
|
|
66
|
+
/** Проставляет слот из `TSlotConfig.factory` */
|
|
62
67
|
factory?: ISlotFactory;
|
|
63
|
-
animationType
|
|
64
|
-
numRows
|
|
65
|
-
intrigue
|
|
66
|
-
onStop
|
|
67
|
-
onRefill
|
|
68
|
-
numScattersToStart
|
|
69
|
-
numScattersToEnd
|
|
70
|
-
scatterCode
|
|
68
|
+
animationType: EGameAnimationType;
|
|
69
|
+
numRows: number;
|
|
70
|
+
intrigue: {
|
|
71
|
+
onStop: boolean;
|
|
72
|
+
onRefill: boolean;
|
|
73
|
+
numScattersToStart: number;
|
|
74
|
+
numScattersToEnd: number;
|
|
75
|
+
scatterCode: number;
|
|
71
76
|
/** Delay in seconds, [normal, fast] */
|
|
72
|
-
reelsIntrigueDelay
|
|
77
|
+
reelsIntrigueDelay: [number, number];
|
|
73
78
|
/** Delay in seconds, [normal, fast] */
|
|
74
|
-
rowsIntrigueDelay
|
|
79
|
+
rowsIntrigueDelay: [number, number];
|
|
75
80
|
};
|
|
76
|
-
symbolsOrder
|
|
77
|
-
/** Порядок символов на
|
|
81
|
+
symbolsOrder: {
|
|
82
|
+
/** Порядок символов на барабане; по умолчанию `[0, ..., numRows - 1]` — считает слот */
|
|
78
83
|
default?: TNumberArray;
|
|
79
84
|
/**
|
|
80
85
|
* Приоритет символов: позиция в массиве, по возрастанию (последний рисуется выше всех).
|
|
@@ -83,69 +88,72 @@ export type TConfigReelComponent = {
|
|
|
83
88
|
*/
|
|
84
89
|
top?: TNumberArray;
|
|
85
90
|
};
|
|
91
|
+
/** Ленты случайных символов по барабанам; по умолчанию все коды текстур — считает слот */
|
|
86
92
|
randomizer?: TNumberArrays;
|
|
87
|
-
autoStopSymbolsAnimations
|
|
88
|
-
mask
|
|
93
|
+
autoStopSymbolsAnimations: boolean;
|
|
94
|
+
mask: {
|
|
95
|
+
/** По умолчанию — от размера символа и высоты барабана, считает слот */
|
|
89
96
|
width?: number;
|
|
90
97
|
height?: number;
|
|
91
|
-
gradientTop
|
|
92
|
-
gradientBottom
|
|
93
|
-
offsetTop
|
|
94
|
-
offsetBottom
|
|
98
|
+
gradientTop: number;
|
|
99
|
+
gradientBottom: number;
|
|
100
|
+
offsetTop: number;
|
|
101
|
+
offsetBottom: number;
|
|
95
102
|
};
|
|
96
|
-
cascade
|
|
97
|
-
refillAwaitsMove
|
|
98
|
-
skipTimeScale
|
|
103
|
+
cascade: {
|
|
104
|
+
refillAwaitsMove: boolean;
|
|
105
|
+
skipTimeScale: number;
|
|
99
106
|
/** с одинаковой ли высоты будут падать символы, или она будет считаться относительно iRow */
|
|
100
|
-
distanceRelative
|
|
101
|
-
bySymbols
|
|
102
|
-
enabled
|
|
107
|
+
distanceRelative: boolean;
|
|
108
|
+
bySymbols: {
|
|
109
|
+
enabled: boolean;
|
|
103
110
|
symbolsOrder?: TNumberArray;
|
|
104
111
|
};
|
|
105
|
-
byReels
|
|
106
|
-
reelsOrder
|
|
112
|
+
byReels: {
|
|
113
|
+
reelsOrder: TNumberArray;
|
|
107
114
|
};
|
|
108
|
-
bounce
|
|
109
|
-
distance
|
|
110
|
-
durationDown
|
|
111
|
-
durationUp
|
|
112
|
-
scaleX
|
|
113
|
-
scaleY
|
|
114
|
-
easeDown
|
|
115
|
-
easeUp
|
|
115
|
+
bounce: {
|
|
116
|
+
distance: [number, number];
|
|
117
|
+
durationDown: [number, number];
|
|
118
|
+
durationUp: [number, number];
|
|
119
|
+
scaleX: [number, number];
|
|
120
|
+
scaleY: [number, number];
|
|
121
|
+
easeDown: string;
|
|
122
|
+
easeUp: string;
|
|
116
123
|
};
|
|
117
124
|
};
|
|
118
|
-
timings
|
|
125
|
+
timings: {
|
|
119
126
|
/** Durations in seconds, [normal, fast] */
|
|
120
|
-
spin
|
|
121
|
-
motion
|
|
122
|
-
bounceDown
|
|
123
|
-
bounceUp
|
|
127
|
+
spin: {
|
|
128
|
+
motion: [number, number];
|
|
129
|
+
bounceDown: [number, number];
|
|
130
|
+
bounceUp: [number, number];
|
|
124
131
|
};
|
|
125
|
-
cascade
|
|
126
|
-
clear
|
|
127
|
-
fall
|
|
128
|
-
move
|
|
129
|
-
refill
|
|
132
|
+
cascade: {
|
|
133
|
+
clear: TCascadeTimings;
|
|
134
|
+
fall: TCascadeTimings;
|
|
135
|
+
move: TCascadeTimings;
|
|
136
|
+
refill: TCascadeTimings;
|
|
130
137
|
};
|
|
131
138
|
};
|
|
132
|
-
events
|
|
133
|
-
start
|
|
134
|
-
stop
|
|
135
|
-
bounce
|
|
136
|
-
spawn
|
|
139
|
+
events: {
|
|
140
|
+
start: boolean;
|
|
141
|
+
stop: boolean;
|
|
142
|
+
bounce: boolean;
|
|
143
|
+
spawn: boolean;
|
|
137
144
|
};
|
|
138
|
-
bounceOffset
|
|
139
|
-
shouldDisplayBounceFakeSymbols
|
|
140
|
-
dropAnimationBeforeBounce
|
|
141
|
-
components
|
|
145
|
+
bounceOffset: number;
|
|
146
|
+
shouldDisplayBounceFakeSymbols: boolean;
|
|
147
|
+
dropAnimationBeforeBounce: boolean;
|
|
148
|
+
components: {
|
|
142
149
|
symbol: TConfigSymbolComponent;
|
|
150
|
+
/** Проставляет слот из `components.intrigue` */
|
|
143
151
|
intrigue?: TConfigIntrigueComponent;
|
|
144
152
|
};
|
|
145
|
-
sounds
|
|
153
|
+
sounds: {
|
|
146
154
|
symbolsStop: Map<number, string>;
|
|
147
155
|
};
|
|
148
|
-
randomGap
|
|
156
|
+
randomGap: number;
|
|
149
157
|
};
|
|
150
158
|
/** Reel component */
|
|
151
159
|
export declare class FWReelComponent extends AbstractComponent implements IReelComponent {
|