@everymatrix/casino-game-thumb-view 1.32.4 → 1.33.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/assets/baccarat.svg +43 -0
- package/dist/assets/fav.svg +9 -0
- package/dist/assets/favorite.svg +12 -0
- package/dist/assets/seat.svg +6 -0
- package/dist/assets/unfav.svg +20 -0
- package/dist/casino-game-thumb-view/casino-game-thumb-view.esm.js +1 -0
- package/dist/casino-game-thumb-view/index.esm.js +0 -0
- package/dist/casino-game-thumb-view/p-1bbf4b70.entry.js +1 -0
- package/dist/casino-game-thumb-view/p-1e63a1ab.js +1 -0
- package/dist/casino-game-thumb-view/p-2d5f59fe.js +1 -0
- package/dist/casino-game-thumb-view/p-42bf2034.entry.js +1 -0
- package/dist/casino-game-thumb-view/p-46dbb1cb.js +1 -0
- package/dist/casino-game-thumb-view/p-6a6b2a78.js +8 -0
- package/dist/casino-game-thumb-view/p-7ae107ed.entry.js +1 -0
- package/dist/casino-game-thumb-view/p-9cbfffbc.entry.js +1 -0
- package/dist/casino-game-thumb-view/p-d961aec4.entry.js +1 -0
- package/dist/casino-game-thumb-view/p-db43bb56.entry.js +7 -0
- package/dist/cjs/casino-extrainfo-baccarat.cjs.entry.js +366 -0
- package/dist/cjs/casino-extrainfo-blackjack.cjs.entry.js +58 -0
- package/dist/cjs/casino-extrainfo-roulette.cjs.entry.js +45 -0
- package/dist/cjs/casino-game-thumb-view.cjs.js +19 -0
- package/dist/cjs/casino-game-thumb-view_2.cjs.entry.js +1612 -0
- package/dist/cjs/casino-game-thumbnail-betlimit_2.cjs.entry.js +278 -0
- package/dist/cjs/casino-normal-game-thumbnail.cjs.entry.js +23 -0
- package/dist/cjs/game-thumbnail-31d518f0.js +78 -0
- package/dist/cjs/index-65a1d768.js +1796 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +21 -0
- package/dist/cjs/locale.utils-aa160787.js +132 -0
- package/dist/cjs/utils-a0afc0a9.js +5745 -0
- package/dist/collection/collection-manifest.json +19 -0
- package/dist/collection/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.css +116 -0
- package/dist/collection/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.js +240 -0
- package/dist/collection/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.css +64 -0
- package/dist/collection/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.js +119 -0
- package/dist/collection/components/casino-extrainfo-roulette/casino-extrainfo-roulette.css +40 -0
- package/dist/collection/components/casino-extrainfo-roulette/casino-extrainfo-roulette.js +123 -0
- package/dist/collection/components/casino-game-thumb-view/casino-game-thumb-view.css +361 -0
- package/dist/collection/components/casino-game-thumb-view/casino-game-thumb-view.js +1064 -0
- package/dist/collection/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.css +3 -0
- package/dist/collection/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.js +86 -0
- package/dist/collection/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.css +154 -0
- package/dist/collection/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.js +158 -0
- package/dist/collection/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.css +58 -0
- package/dist/collection/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.js +209 -0
- package/dist/collection/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.css +3 -0
- package/dist/collection/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.js +62 -0
- package/dist/collection/constants/game-thumbnail.js +85 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/models/casino-game-thumb-view.js +12 -0
- package/dist/collection/models/currency-symbols.js +173 -0
- package/dist/collection/static/baccarat.svg +43 -0
- package/dist/collection/static/fav.svg +9 -0
- package/dist/collection/static/favorite.svg +12 -0
- package/dist/collection/static/seat.svg +6 -0
- package/dist/collection/static/unfav.svg +20 -0
- package/dist/collection/utils/baccarat-board-svg.js +234 -0
- package/dist/collection/utils/locale.utils.js +128 -0
- package/dist/collection/utils/utils.js +65 -0
- package/dist/components/casino-extrainfo-baccarat.d.ts +11 -0
- package/dist/components/casino-extrainfo-baccarat.js +400 -0
- package/dist/components/casino-extrainfo-blackjack.d.ts +11 -0
- package/dist/components/casino-extrainfo-blackjack.js +92 -0
- package/dist/components/casino-extrainfo-roulette.d.ts +11 -0
- package/dist/components/casino-extrainfo-roulette.js +78 -0
- package/dist/components/casino-game-thumb-view.d.ts +11 -0
- package/dist/components/casino-game-thumb-view.js +1625 -0
- package/dist/components/casino-game-thumbnail-betlimit.d.ts +11 -0
- package/dist/components/casino-game-thumbnail-betlimit.js +6 -0
- package/dist/components/casino-game-thumbnail-betlimit2.js +227 -0
- package/dist/components/casino-game-thumbnail-extrainfo.d.ts +11 -0
- package/dist/components/casino-game-thumbnail-extrainfo.js +6 -0
- package/dist/components/casino-game-thumbnail-extrainfo2.js +96 -0
- package/dist/components/casino-game-thumbnail-overlay.d.ts +11 -0
- package/dist/components/casino-game-thumbnail-overlay.js +6 -0
- package/dist/components/casino-game-thumbnail-overlay2.js +69 -0
- package/dist/components/casino-normal-game-thumbnail.d.ts +11 -0
- package/dist/components/casino-normal-game-thumbnail.js +52 -0
- package/dist/components/game-thumbnail.js +72 -0
- package/dist/components/index.d.ts +26 -0
- package/dist/components/index.js +1 -0
- package/dist/components/locale.utils.js +130 -0
- package/dist/components/utils.js +5739 -0
- package/dist/esm/casino-extrainfo-baccarat.entry.js +362 -0
- package/dist/esm/casino-extrainfo-blackjack.entry.js +54 -0
- package/dist/esm/casino-extrainfo-roulette.entry.js +41 -0
- package/dist/esm/casino-game-thumb-view.js +17 -0
- package/dist/esm/casino-game-thumb-view_2.entry.js +1607 -0
- package/dist/esm/casino-game-thumbnail-betlimit_2.entry.js +273 -0
- package/dist/esm/casino-normal-game-thumbnail.entry.js +19 -0
- package/dist/esm/game-thumbnail-0a56ee03.js +72 -0
- package/dist/esm/index-1e44dd9f.js +1769 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +17 -0
- package/dist/esm/locale.utils-e0cf897e.js +130 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/utils-e9314132.js +5739 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/stencil.config.js +40 -0
- package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/casino-game-thumb-view/.stencil/packages/casino-game-thumb-view/stencil.config.d.ts +2 -0
- package/dist/types/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.d.ts +40 -0
- package/dist/types/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.d.ts +36 -0
- package/dist/types/components/casino-extrainfo-roulette/casino-extrainfo-roulette.d.ts +21 -0
- package/dist/types/components/casino-game-thumb-view/casino-game-thumb-view.d.ts +221 -0
- package/dist/types/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.d.ts +17 -0
- package/dist/types/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.d.ts +16 -0
- package/dist/types/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.d.ts +31 -0
- package/dist/types/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.d.ts +7 -0
- package/dist/types/components.d.ts +480 -0
- package/dist/types/constants/game-thumbnail.d.ts +83 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/models/casino-game-thumb-view.d.ts +132 -0
- package/dist/types/models/currency-symbols.d.ts +172 -0
- package/dist/types/stencil-public-runtime.d.ts +1565 -0
- package/dist/types/utils/baccarat-board-svg.d.ts +31 -0
- package/dist/types/utils/locale.utils.d.ts +1 -0
- package/dist/types/utils/utils.d.ts +19 -0
- package/loader/cdn.js +3 -0
- package/loader/index.cjs.js +3 -0
- package/loader/index.d.ts +12 -0
- package/loader/index.es2017.js +3 -0
- package/loader/index.js +4 -0
- package/loader/package.json +10 -0
- package/package.json +2 -3
- package/LICENSE +0 -21
@@ -0,0 +1,366 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
const index = require('./index-65a1d768.js');
|
6
|
+
const gameThumbnail = require('./game-thumbnail-31d518f0.js');
|
7
|
+
|
8
|
+
var CasinoGameCategory;
|
9
|
+
(function (CasinoGameCategory) {
|
10
|
+
CasinoGameCategory["ROULETTE"] = "ROULETTE";
|
11
|
+
CasinoGameCategory["POKER"] = "POKER";
|
12
|
+
CasinoGameCategory["BLACKJACK"] = "BLACKJACK";
|
13
|
+
})(CasinoGameCategory || (CasinoGameCategory = {}));
|
14
|
+
var BaccaratWinner;
|
15
|
+
(function (BaccaratWinner) {
|
16
|
+
BaccaratWinner["PLAYER"] = "Player";
|
17
|
+
BaccaratWinner["WINNER"] = "Banker";
|
18
|
+
BaccaratWinner["TIE"] = "Tie";
|
19
|
+
})(BaccaratWinner || (BaccaratWinner = {}));
|
20
|
+
|
21
|
+
const BACCARAT_ROW = 6;
|
22
|
+
const BACCARTAT_COLUMN = 40;
|
23
|
+
const TIE_ANGLE = 135;
|
24
|
+
const PLAYER_ANGLE = 45;
|
25
|
+
class BaccaratSvg {
|
26
|
+
constructor() {
|
27
|
+
this.svgNS = 'http://www.w3.org/2000/svg';
|
28
|
+
this.svgVersion = '1.1';
|
29
|
+
this.markGroupExtraClass = {
|
30
|
+
name: '',
|
31
|
+
strokeWidth: 1.8,
|
32
|
+
cellPadding: 6
|
33
|
+
};
|
34
|
+
}
|
35
|
+
resetSvg() {
|
36
|
+
this.svgGroupObj.innerHTML = '';
|
37
|
+
}
|
38
|
+
createTag(tag, attrs) {
|
39
|
+
let oTag = document.createElementNS(this.svgNS, tag);
|
40
|
+
Object.keys(attrs).forEach((attr) => {
|
41
|
+
oTag.setAttribute(attr, attrs[attr]);
|
42
|
+
});
|
43
|
+
return oTag;
|
44
|
+
}
|
45
|
+
;
|
46
|
+
//Y1 = Y2, X1=0;
|
47
|
+
createHLine(lineIdx) {
|
48
|
+
return this.createTag('line', {
|
49
|
+
'x1': 0,
|
50
|
+
'x2': this.svgWidth,
|
51
|
+
'y1': lineIdx * this.cellHeight,
|
52
|
+
'y2': lineIdx * this.cellHeight
|
53
|
+
});
|
54
|
+
}
|
55
|
+
createVLine(lineIdx) {
|
56
|
+
return this.createTag('line', {
|
57
|
+
'x1': lineIdx * this.cellWidth,
|
58
|
+
'x2': lineIdx * this.cellWidth,
|
59
|
+
'y1': 0,
|
60
|
+
'y2': this.svgHeight
|
61
|
+
});
|
62
|
+
}
|
63
|
+
createBaccaratBoard(parentEle) {
|
64
|
+
this.parentEle = parentEle;
|
65
|
+
this.svgWidth = parentEle.clientWidth;
|
66
|
+
this.cellWidth = this.svgWidth / BACCARTAT_COLUMN;
|
67
|
+
this.cellHeight = this.cellWidth;
|
68
|
+
this.svgHeight = this.cellHeight * BACCARAT_ROW;
|
69
|
+
let dynamicStyles = {};
|
70
|
+
if (this.svgWidth < 300) {
|
71
|
+
dynamicStyles = {
|
72
|
+
name: 'Min',
|
73
|
+
strokeWidth: 0.8,
|
74
|
+
cellPadding: 2
|
75
|
+
};
|
76
|
+
}
|
77
|
+
else if (this.svgWidth >= 300 && this.svgWidth < 500) {
|
78
|
+
dynamicStyles = {
|
79
|
+
name: 'Mid',
|
80
|
+
strokeWidth: 1.5,
|
81
|
+
cellPadding: 3.8
|
82
|
+
};
|
83
|
+
}
|
84
|
+
this.markGroupExtraClass = Object.assign(Object.assign({}, this.markGroupExtraClass), dynamicStyles);
|
85
|
+
this.markGroupExtraClass.fontSize = this.cellWidth - this.markGroupExtraClass.cellPadding * 0.8;
|
86
|
+
this.markGroupExtraClass.pairDotR = this.markGroupExtraClass.strokeWidth / 2;
|
87
|
+
this.markGroupExtraClass.pairBackDotR = this.markGroupExtraClass.pairDotR + 0.4;
|
88
|
+
let svgObj = this.createTag('svg', { 'xmlns': this.svgNS, 'version': this.svgVersion, 'width': '100%' });
|
89
|
+
let svgGroup = this.createTag('g', {
|
90
|
+
'style': 'cursor: pointer',
|
91
|
+
'stroke': '#a1acb696',
|
92
|
+
'stroke-width': '0.6px',
|
93
|
+
'fill': 'transparent'
|
94
|
+
});
|
95
|
+
let markGroup = this.createTag('g', {
|
96
|
+
'style': 'cursor: pointer', 'class': `BoardRoundsGroup ${this.markGroupExtraClass.name}`,
|
97
|
+
'stroke-width': this.markGroupExtraClass.strokeWidth, 'fill': 'transparent'
|
98
|
+
});
|
99
|
+
for (let i = 0; i < BACCARAT_ROW + 1; i++) {
|
100
|
+
svgGroup.appendChild(this.createHLine(i));
|
101
|
+
}
|
102
|
+
for (let i = 0; i < BACCARTAT_COLUMN + 1; i++) {
|
103
|
+
svgGroup.appendChild(this.createVLine(i));
|
104
|
+
}
|
105
|
+
parentEle.setAttribute('style', `height: ${this.svgHeight}px`);
|
106
|
+
svgObj.appendChild(svgGroup);
|
107
|
+
svgObj.appendChild(markGroup);
|
108
|
+
parentEle.replaceChildren(svgObj);
|
109
|
+
this.svgGroupObj = markGroup;
|
110
|
+
}
|
111
|
+
getRadius() {
|
112
|
+
return (this.cellHeight - this.markGroupExtraClass.cellPadding) / 2;
|
113
|
+
}
|
114
|
+
addAnimate(objToAddAnimate) {
|
115
|
+
let animate = this.createTag('animate', {
|
116
|
+
'attributeName': 'opacity', attributeType: 'XML', 'from': '0', to: 0.8, repeatCount: '5',
|
117
|
+
begin: '0s', dur: '1.5s', 'calcMode': 'spline', keySplines: "0.1 0.8 0.9 0.1", fill: 'freeze'
|
118
|
+
});
|
119
|
+
objToAddAnimate.appendChild(animate);
|
120
|
+
}
|
121
|
+
markNewRound(x, y, options, markNew = false) {
|
122
|
+
let centre = this.getCenterPoint(x, y);
|
123
|
+
let svgG = this.createTag('g', {
|
124
|
+
'class': `Round ${markNew ? 'NewRound' : ''} ${options.winner === BaccaratWinner.TIE ? 'Tie' : ''}`,
|
125
|
+
'part': `Round ${markNew ? 'NewRound' : ''}`, 'opacity': markNew ? 0.1 : 1
|
126
|
+
});
|
127
|
+
//RoundWinner: TIE
|
128
|
+
if (options.winner === BaccaratWinner.TIE) {
|
129
|
+
svgG.appendChild(this.createTieSvg(x, y));
|
130
|
+
this.svgGroupObj.appendChild(svgG);
|
131
|
+
if (options.ties && options.ties > 1) {
|
132
|
+
let text = this.createTag('text', {
|
133
|
+
'x': centre.cx - 1.5,
|
134
|
+
'y': centre.cy + this.markGroupExtraClass.fontSize / 2 - 1.1,
|
135
|
+
'fill': '#12153d',
|
136
|
+
'class': 'TieNumber',
|
137
|
+
'font-size': `${this.markGroupExtraClass.fontSize}px`,
|
138
|
+
'font-weight': this.markGroupExtraClass.fontSize > 7 ? 'bold' : ''
|
139
|
+
});
|
140
|
+
text.innerHTML = options.ties;
|
141
|
+
svgG.appendChild(text);
|
142
|
+
}
|
143
|
+
this.svgGroupObj.appendChild(svgG);
|
144
|
+
return;
|
145
|
+
}
|
146
|
+
svgG.appendChild(this.createTag('circle', {
|
147
|
+
r: this.getRadius(),
|
148
|
+
'class': 'Round',
|
149
|
+
'stroke': options.color,
|
150
|
+
'cx': x * this.cellHeight + (this.cellHeight) / 2,
|
151
|
+
'cy': y * this.cellHeight + (this.cellHeight) / 2
|
152
|
+
}));
|
153
|
+
if (options.ties) {
|
154
|
+
svgG.appendChild(this.createTieSvg(x, y));
|
155
|
+
if (options.ties > 1) {
|
156
|
+
let text = this.createTag('text', {
|
157
|
+
'x': centre.cx - 1.5,
|
158
|
+
'y': centre.cy + this.markGroupExtraClass.fontSize / 2 - 1.1,
|
159
|
+
'fill': '#12153d',
|
160
|
+
'class': 'TieNumber',
|
161
|
+
'font-size': `${this.markGroupExtraClass.fontSize}px`,
|
162
|
+
'font-weight': this.markGroupExtraClass.fontSize > 7 ? 'bold' : ''
|
163
|
+
});
|
164
|
+
text.innerHTML = options.ties;
|
165
|
+
svgG.appendChild(text);
|
166
|
+
}
|
167
|
+
this.svgGroupObj.appendChild(svgG);
|
168
|
+
}
|
169
|
+
if (options.bankerPair) {
|
170
|
+
let dots = this.createPairDot(x, y, options.pairColor.banker, PLAYER_ANGLE + 180);
|
171
|
+
dots.forEach(dot => svgG.appendChild(dot));
|
172
|
+
}
|
173
|
+
if (options.playerPair) {
|
174
|
+
let dots = this.createPairDot(x, y, options.pairColor.player, PLAYER_ANGLE);
|
175
|
+
dots.forEach(dot => svgG.appendChild(dot));
|
176
|
+
}
|
177
|
+
if (options.includeAnimate) {
|
178
|
+
this.addAnimate(svgG);
|
179
|
+
}
|
180
|
+
this.svgGroupObj.appendChild(svgG);
|
181
|
+
}
|
182
|
+
markRound(x, y, color, includeAnimate = false) {
|
183
|
+
let circleSvg = this.createTag('circle', {
|
184
|
+
r: this.getRadius(),
|
185
|
+
'class': 'Round',
|
186
|
+
'stroke': color,
|
187
|
+
'cx': x * this.cellHeight + (this.cellHeight) / 2,
|
188
|
+
'cy': y * this.cellHeight + (this.cellHeight) / 2
|
189
|
+
});
|
190
|
+
if (includeAnimate) {
|
191
|
+
this.addAnimate(circleSvg);
|
192
|
+
}
|
193
|
+
this.svgGroupObj.appendChild(circleSvg);
|
194
|
+
}
|
195
|
+
getCenterPoint(x, y) {
|
196
|
+
return {
|
197
|
+
'cx': x * this.cellHeight + (this.cellHeight) / 2,
|
198
|
+
'cy': y * this.cellHeight + (this.cellHeight) / 2
|
199
|
+
};
|
200
|
+
}
|
201
|
+
createTieSvg(x, y) {
|
202
|
+
let centerXY = this.getCenterPoint(x, y), angle = TIE_ANGLE, r = (this.cellHeight) / 2;
|
203
|
+
const x1 = centerXY.cx + r * Math.cos(angle * Math.PI / 180);
|
204
|
+
const y1 = centerXY.cy + r * Math.sin(angle * Math.PI / 180);
|
205
|
+
const x2 = centerXY.cx + r * Math.cos((angle + 180) * Math.PI / 180);
|
206
|
+
const y2 = centerXY.cy + r * Math.sin((angle + 180) * Math.PI / 180);
|
207
|
+
return this.createTag('line', {
|
208
|
+
x1, y1, x2, y2, 'class': 'Tie',
|
209
|
+
'stroke': 'green', 'opacity': '0.8', 'stroke-width': '1.8px'
|
210
|
+
});
|
211
|
+
}
|
212
|
+
createPairDot(x, y, pairColor, angle) {
|
213
|
+
let centerXY = this.getCenterPoint(x, y), r = this.getRadius() + this.markGroupExtraClass.pairDotR;
|
214
|
+
const cx = centerXY.cx + r * Math.cos(angle * Math.PI / 180);
|
215
|
+
const cy = centerXY.cy + r * Math.sin(angle * Math.PI / 180);
|
216
|
+
return [
|
217
|
+
this.createTag('circle', {
|
218
|
+
cx, cy, r: this.markGroupExtraClass.pairBackDotR, 'class': 'DotBack',
|
219
|
+
'stroke': '#fff'
|
220
|
+
}),
|
221
|
+
this.createTag('circle', {
|
222
|
+
cx, cy, r: this.markGroupExtraClass.pairDotR, 'class': 'Dot',
|
223
|
+
'stroke': pairColor, 'stroke-width': '0.8px', 'fill': pairColor
|
224
|
+
})
|
225
|
+
];
|
226
|
+
}
|
227
|
+
markTie(x, y, includeAnimate = false) {
|
228
|
+
let line = this.createTieSvg(x, y);
|
229
|
+
if (includeAnimate) {
|
230
|
+
this.addAnimate(line);
|
231
|
+
}
|
232
|
+
this.svgGroupObj.appendChild(line);
|
233
|
+
}
|
234
|
+
markPair(x, y, pairColor, angle) {
|
235
|
+
let centerXY = this.getCenterPoint(x, y), r = this.getRadius() + this.markGroupExtraClass.pairDotR;
|
236
|
+
const cx = centerXY.cx + r * Math.cos(angle * Math.PI / 180);
|
237
|
+
const cy = centerXY.cy + r * Math.sin(angle * Math.PI / 180);
|
238
|
+
this.svgGroupObj.appendChild(this.createTag('circle', {
|
239
|
+
cx, cy, r: this.markGroupExtraClass.pairBackDotR, 'class': 'DotBack',
|
240
|
+
'stroke': '#fff'
|
241
|
+
}));
|
242
|
+
this.svgGroupObj.appendChild(this.createTag('circle', {
|
243
|
+
cx, cy, r: this.markGroupExtraClass.pairDotR, 'class': 'Dot',
|
244
|
+
'stroke': pairColor, 'stroke-width': '0.8px', 'fill': pairColor
|
245
|
+
}));
|
246
|
+
}
|
247
|
+
markBankerPair(x, y, pairColor) {
|
248
|
+
this.markPair(x, y, pairColor, 225);
|
249
|
+
}
|
250
|
+
markPlayerPair(x, y, pairColor) {
|
251
|
+
this.markPair(x, y, pairColor, 45);
|
252
|
+
}
|
253
|
+
}
|
254
|
+
|
255
|
+
const casinoExtrainfoBaccaratCss = ":host {\n display: block;\n}\n\n.BaccaratBoard {\n container-type: inline-size;\n min-height: 30px;\n width: 100%;\n}\n.BaccaratBoard svg {\n background: #fff;\n opacity: 0.99;\n height: 100%;\n}\n\n.LiveProps.BaccaratProps div.LiveIcons {\n margin-bottom: 0px;\n padding: 0px;\n width: 100%;\n}\n\nsvg circle {\n transition: stroke-dashoffset 0s ease 2s;\n}\n\ng.BoardRoundsGroup {\n stroke-width: 1.8px;\n}\n\n@container (max-width: 300px) {\n g.BoardRoundsGroup {\n stroke-width: 0.9px;\n }\n}\nsvg .Round.NewRound {\n opacity: 1;\n -webkit-animation-name: fadeInFromNone;\n animation-name: fadeInFromNone;\n -webkit-animation-duration: 1.5s;\n animation-duration: 1.5s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n}\n\n@-webkit-keyframes fadeInFromNone {\n 0% {\n display: none;\n opacity: 0;\n }\n 1% {\n display: block;\n opacity: 0;\n }\n 100% {\n display: block;\n opacity: 1;\n }\n}\n@-moz-keyframes fadeInFromNone {\n 0% {\n display: none;\n opacity: 0;\n }\n 1% {\n display: block;\n opacity: 0;\n }\n 100% {\n display: block;\n opacity: 1;\n }\n}\n@-o-keyframes fadeInFromNone {\n 0% {\n display: none;\n opacity: 0;\n }\n 1% {\n display: block;\n opacity: 0;\n }\n 30% {\n display: block;\n opacity: 1;\n }\n 60% {\n display: block;\n opacity: 0;\n }\n 100% {\n display: block;\n opacity: 1;\n }\n}\n@keyframes fadeInFromNone {\n 0% {\n display: none;\n opacity: 0;\n }\n 1% {\n display: block;\n opacity: 0;\n }\n 30% {\n display: block;\n opacity: 1;\n }\n 60% {\n display: block;\n opacity: 0;\n }\n 100% {\n display: block;\n opacity: 1;\n }\n}";
|
256
|
+
|
257
|
+
const CasinoExtrainfoBaccarat = class {
|
258
|
+
constructor(hostRef) {
|
259
|
+
index.registerInstance(this, hostRef);
|
260
|
+
this.baccaratSvg = new BaccaratSvg();
|
261
|
+
this.isBoardInited = false;
|
262
|
+
this.filledCells = [];
|
263
|
+
}
|
264
|
+
gameDetailsHandler(newVal, oldVal) {
|
265
|
+
if (newVal.isOpen && (!oldVal || !oldVal.isOpen)) {
|
266
|
+
if (this.showRoundBoard) {
|
267
|
+
setTimeout(() => {
|
268
|
+
this.initBaccaratRoundsBoard();
|
269
|
+
}, 100);
|
270
|
+
}
|
271
|
+
}
|
272
|
+
}
|
273
|
+
async onGameLoaded(gameInfo) {
|
274
|
+
var _a;
|
275
|
+
this.gameInfo = gameInfo;
|
276
|
+
this.gameDetails = this.gameInfo.details;
|
277
|
+
(_a = this.infoWrapperRef) === null || _a === void 0 ? void 0 : _a.onGameLoaded(this.gameInfo);
|
278
|
+
}
|
279
|
+
/**
|
280
|
+
* Called when received update from updater
|
281
|
+
* @param details
|
282
|
+
*/
|
283
|
+
async onGameDetailUpdated(details) {
|
284
|
+
var _a;
|
285
|
+
this.gameInfo.details = this.gameDetails = details;
|
286
|
+
this.gameDetails = Object.assign({}, this.gameDetails);
|
287
|
+
(_a = this.infoWrapperRef) === null || _a === void 0 ? void 0 : _a.onGameDetailUpdated(details);
|
288
|
+
// init board when the svg board init finished
|
289
|
+
setTimeout(() => {
|
290
|
+
this.isBoardInited = true;
|
291
|
+
}, 200);
|
292
|
+
}
|
293
|
+
async onBaccaratResultChanged(result) {
|
294
|
+
if (!result || !this.baccaratRef || this.isResetingRoundBoard) {
|
295
|
+
return;
|
296
|
+
}
|
297
|
+
// For Tie round to mark, latestRound
|
298
|
+
let latestRound, resetRoundBoardCells = () => {
|
299
|
+
console.log('Reset Baccarat Board.');
|
300
|
+
this.filledCells = [];
|
301
|
+
this.baccaratSvg.resetSvg();
|
302
|
+
latestRound = null;
|
303
|
+
};
|
304
|
+
// Reset round board to avoid the reset(result==[]) update come earlier than last round,
|
305
|
+
// Ignore if the result.length == 0 for temporary
|
306
|
+
if (this.isBoardInited &&
|
307
|
+
(result.length == 0 ||
|
308
|
+
(result.length == 1 &&
|
309
|
+
(result[0].winner == BaccaratWinner.TIE ||
|
310
|
+
(result[0].location.column == 0 && result[0].location.row == 0))))) {
|
311
|
+
this.isResetingRoundBoard = true;
|
312
|
+
resetRoundBoardCells();
|
313
|
+
setTimeout(() => {
|
314
|
+
this.isResetingRoundBoard = false;
|
315
|
+
}, 1000);
|
316
|
+
}
|
317
|
+
result.forEach((item, i) => {
|
318
|
+
//Mark the Tie when Tie round is the first cell(0,0)
|
319
|
+
if (item.winner == BaccaratWinner.TIE) {
|
320
|
+
if (i == result.length - 1 &&
|
321
|
+
(!latestRound ||
|
322
|
+
(latestRound &&
|
323
|
+
latestRound.location.column == 0 &&
|
324
|
+
latestRound.location.row == 0))) {
|
325
|
+
let firstTieCellKey = '0-0-T';
|
326
|
+
if (this.filledCells.indexOf(firstTieCellKey) == -1) {
|
327
|
+
this.baccaratSvg.markNewRound(0, 0, Object.assign(Object.assign({}, item), { pairColor: gameThumbnail.WINNER_COLOR }), this.isBoardInited);
|
328
|
+
this.filledCells.push(firstTieCellKey);
|
329
|
+
}
|
330
|
+
}
|
331
|
+
return;
|
332
|
+
}
|
333
|
+
//cellKey to mark if a round has been marked
|
334
|
+
const cellKey = `${item.location.column}-${item.location.row}`;
|
335
|
+
const tCellKey = `${cellKey}-T`;
|
336
|
+
if (item.ties > 0 && this.filledCells.indexOf(tCellKey) == -1) {
|
337
|
+
this.baccaratSvg.markNewRound(item.location.column, item.location.row, Object.assign(Object.assign({}, item), { winner: BaccaratWinner.TIE }), this.isBoardInited);
|
338
|
+
this.filledCells.push(tCellKey);
|
339
|
+
}
|
340
|
+
latestRound = item;
|
341
|
+
//If current cell has been filled,duplicated data
|
342
|
+
if (this.filledCells.indexOf(cellKey) == -1) {
|
343
|
+
this.baccaratSvg.markNewRound(item.location.column, item.location.row, Object.assign(Object.assign({}, item), { pairColor: gameThumbnail.WINNER_COLOR }), this.isBoardInited);
|
344
|
+
this.filledCells.push(cellKey);
|
345
|
+
}
|
346
|
+
});
|
347
|
+
return;
|
348
|
+
}
|
349
|
+
initBaccaratRoundsBoard() {
|
350
|
+
var _a;
|
351
|
+
this.baccaratSvg.createBaccaratBoard(this.baccaratRef);
|
352
|
+
if (((_a = this.gameDetails.results) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
353
|
+
this.onBaccaratResultChanged(this.gameDetails.results);
|
354
|
+
}
|
355
|
+
}
|
356
|
+
render() {
|
357
|
+
var _a;
|
358
|
+
return (index.h(index.Host, null, index.h("casino-game-thumbnail-extrainfo", { ref: (el) => (this.infoWrapperRef = el), language: this.language }, ((_a = this.gameDetails) === null || _a === void 0 ? void 0 : _a.isOpen) && this.showRoundBoard && (index.h("div", { slot: "category-details", class: "LiveIcons", part: "LiveIcons" }, index.h("div", { id: "boardContainer", part: "BaccaratBoard", class: "BaccaratBoard", ref: (el) => (this.baccaratRef = el) }))))));
|
359
|
+
}
|
360
|
+
static get watchers() { return {
|
361
|
+
"gameDetails": ["gameDetailsHandler"]
|
362
|
+
}; }
|
363
|
+
};
|
364
|
+
CasinoExtrainfoBaccarat.style = casinoExtrainfoBaccaratCss;
|
365
|
+
|
366
|
+
exports.casino_extrainfo_baccarat = CasinoExtrainfoBaccarat;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
const index = require('./index-65a1d768.js');
|
6
|
+
const gameThumbnail = require('./game-thumbnail-31d518f0.js');
|
7
|
+
const locale_utils = require('./locale.utils-aa160787.js');
|
8
|
+
|
9
|
+
const SeatSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="13" height="14" viewBox="0 0 13 14">
|
10
|
+
<path
|
11
|
+
d="M11.58 6c-1.17 0-2.13.95-2.13 2.12v.4a8.82 8.82 0 00-2.92-.4c-1.54 0-2.45.22-2.92.4v-.4A2.136 2.136 0 001.48 6a1.33 1.33 0 00-.5 2.55c.14.07.24.21.24.37l.26 1.06c0 .96.73 1.75 1.65 1.85a.65.65 0 00.28 1.23.65.65 0 00.3-1.22h5.64a.65.65 0 00.3 1.22.65.65 0 00.28-1.23c.93-.1 1.65-.9 1.65-1.85l.27-1.06c0-.16.1-.3.24-.37A1.33 1.33 0 0011.58 6z"/>
|
12
|
+
<path
|
13
|
+
d="M4.34 7.5c.55-.1 1.27-.17 2.2-.17.91 0 1.63.07 2.18.17.21-.96.9-1.74 1.8-2.1V4a3.99 3.99 0 00-7.97 0v1.4c.9.36 1.58 1.14 1.79 2.1z"/>
|
14
|
+
</svg>
|
15
|
+
`;
|
16
|
+
|
17
|
+
const casinoExtrainfoBlackjackCss = ":host{display:block}.OpenSeat,.ClosedSeat{display:inline-block;width:16px;height:16px;margin-right:4px}.OpenSeat svg,.ClosedSeat svg{width:100%;height:100%}.OpenSeat{animation:flip-closed-seat 2s both;-webkit-animation:flip-closed-seat 2s both;-webkit-backface-visibility:visible;backface-visibility:visible}.ClosedSeat{animation:flip-open 2s both;-webkit-animation:flip-open 2s both;-webkit-backface-visibility:visible;backface-visibility:visible}.OpenSeat svg{fill:transparent;stroke:var(--emfe-w-color-white, #FFFFFF)}.ClosedSeat svg{fill:var(--emfe-w-color-white, #FFFFFF)}.FullTable{display:flex;position:relative;z-index:10;height:20px;padding:1px 4px 1px 0;align-items:center;border-radius:3px;font-size:12px;white-space:normal;text-transform:uppercase;-webkit-animation-name:silde-in-from-left;animation-name:silde-in-from-left;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.FullTable svg{width:100%;height:100%;fill:var(--emfe-w-color-white, #FFFFFF)}.FullTable.ClosedSeat{margin-right:-3px}";
|
18
|
+
|
19
|
+
const CasinoExtrainfoBlackjack = class {
|
20
|
+
constructor(hostRef) {
|
21
|
+
index.registerInstance(this, hostRef);
|
22
|
+
}
|
23
|
+
/**
|
24
|
+
* Generate Jackpot live seats info
|
25
|
+
* @param totalSeats
|
26
|
+
* @param occupiedSeats
|
27
|
+
*/
|
28
|
+
generateBlackJackSeats(totalSeats = gameThumbnail.DEFAULT_BLACKJACK_TOTAL_SEATS, occupiedSeats = []) {
|
29
|
+
let seatsStatus = [];
|
30
|
+
for (let i = 0; i < totalSeats; i++) {
|
31
|
+
seatsStatus.push({
|
32
|
+
seatNo: i,
|
33
|
+
isClosed: occupiedSeats.indexOf((i + 1).toString()) > -1,
|
34
|
+
});
|
35
|
+
}
|
36
|
+
this.isTableFull = totalSeats == occupiedSeats.length;
|
37
|
+
return seatsStatus;
|
38
|
+
}
|
39
|
+
async onGameLoaded(gameInfo) {
|
40
|
+
var _a, _b, _c;
|
41
|
+
this.gameInfo = gameInfo;
|
42
|
+
this.gameDetails = this.gameInfo.details;
|
43
|
+
this.seatsStatus = this.generateBlackJackSeats((_a = this.gameDetails) === null || _a === void 0 ? void 0 : _a.totalSeats, (_b = this.gameDetails) === null || _b === void 0 ? void 0 : _b.currentOccupiedSeats);
|
44
|
+
(_c = this.infoWrapperRef) === null || _c === void 0 ? void 0 : _c.onGameLoaded(gameInfo);
|
45
|
+
}
|
46
|
+
async onGameDetailUpdated(details) {
|
47
|
+
var _a, _b;
|
48
|
+
this.gameInfo.details = this.gameDetails = details;
|
49
|
+
this.seatsStatus = this.generateBlackJackSeats((_a = this.gameDetails) === null || _a === void 0 ? void 0 : _a.totalSeats, (_b = this.gameDetails) === null || _b === void 0 ? void 0 : _b.currentOccupiedSeats);
|
50
|
+
this.gameDetails = Object.assign({}, this.gameDetails);
|
51
|
+
}
|
52
|
+
render() {
|
53
|
+
return (index.h(index.Host, null, index.h("casino-game-thumbnail-extrainfo", { ref: (el) => (this.infoWrapperRef = el), language: this.language }, this.gameDetails && this.gameDetails.isOpen && (index.h("div", { slot: "category-details", class: "LiveIcons", part: "LiveIcons" }, this.isTableFull ? (index.h("span", { class: "FullTable", part: "FullTable" }, locale_utils.translate('full', this.language))) : (this.seatsStatus.map((seatStatus) => (index.h("span", { class: `${seatStatus.isClosed ? 'ClosedSeat' : 'OpenSeat'} svg-container`, id: `s${seatStatus.seatNo}`, part: `${seatStatus.isClosed ? 'ClosedSeat' : 'OpenSeat'} svg-container`, innerHTML: SeatSvg })))))))));
|
54
|
+
}
|
55
|
+
};
|
56
|
+
CasinoExtrainfoBlackjack.style = casinoExtrainfoBlackjackCss;
|
57
|
+
|
58
|
+
exports.casino_extrainfo_blackjack = CasinoExtrainfoBlackjack;
|
@@ -0,0 +1,45 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
const index = require('./index-65a1d768.js');
|
6
|
+
const gameThumbnail = require('./game-thumbnail-31d518f0.js');
|
7
|
+
|
8
|
+
const casinoExtrainfoRouletteCss = ":host{display:block;font-family:system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\"}.Blue{color:#4d90a7}.Red{background-color:red}.Black{background-color:var(--emfe-w-color-black, #000000)}.Green{background-color:#56A80A}.White{background-color:var(--emfe-w-color-white, #FFFFFF)}.Yellow{background-color:#eeca3d}.Gold{background-color:#866d0c}.Orange{background-color:#574708}.Purple{background-color:#330033}";
|
9
|
+
|
10
|
+
const CasinoExtrainfoRoulette = class {
|
11
|
+
constructor(hostRef) {
|
12
|
+
index.registerInstance(this, hostRef);
|
13
|
+
/**
|
14
|
+
* Language
|
15
|
+
*/
|
16
|
+
this.language = 'en';
|
17
|
+
}
|
18
|
+
async onGameLoaded(gameInfo) {
|
19
|
+
var _a;
|
20
|
+
this.gameInfo = Object.assign({}, gameInfo);
|
21
|
+
this.gameDetails = this.gameInfo.details ? Object.assign({}, this.gameInfo.details) : null;
|
22
|
+
(_a = this.infoWrapperRef) === null || _a === void 0 ? void 0 : _a.onGameLoaded(gameInfo);
|
23
|
+
}
|
24
|
+
async onGameDetailUpdated(details) {
|
25
|
+
this.gameInfo.details = this.gameDetails = details;
|
26
|
+
this.gameInfo = Object.assign({}, this.gameInfo);
|
27
|
+
this.gameDetails = Object.assign({}, this.gameDetails);
|
28
|
+
}
|
29
|
+
getRouletteNumberColor(value) {
|
30
|
+
return gameThumbnail.ROULETTE_COLOR_MAP[value];
|
31
|
+
}
|
32
|
+
render() {
|
33
|
+
var _a, _b, _c, _d;
|
34
|
+
const isDouble = this.gameDetails ?
|
35
|
+
this.gameDetails.category.toLowerCase() ===
|
36
|
+
gameThumbnail.WIDGETTYPE_GAMECATEGORY.doubleballroulette : false;
|
37
|
+
let rouletteNumbers = (isDouble
|
38
|
+
? (_a = this.gameDetails) === null || _a === void 0 ? void 0 : _a.currentDoubleBallRouletteNumbers
|
39
|
+
: (_b = this.gameDetails) === null || _b === void 0 ? void 0 : _b.currentRouletteNumbers) || [];
|
40
|
+
return (index.h(index.Host, null, index.h("casino-game-thumbnail-extrainfo", { ref: (el) => (this.infoWrapperRef = el), language: this.language }, index.h("div", { slot: "category-details", class: `LiveIcons ${((_c = this.gameDetails) === null || _c === void 0 ? void 0 : _c.isOpen) ? 'GameBackdrop' : ''}`, part: `LiveIcons ${((_d = this.gameDetails) === null || _d === void 0 ? void 0 : _d.isOpen) ? 'GameBackdrop' : ''}` }, rouletteNumbers.slice(0, 5).map((rNum, idx) => isDouble === true ? (index.h("div", { class: "Double", part: "Double" }, index.h("span", { id: `s${idx}0`, class: `LatestResult ${idx == 0 ? 'First' : ''} ${this.showLiveClass ? 'FirstElementAnimated' : ''} ${this.getRouletteNumberColor(rNum[0])}` }, ' ', rNum[0]), index.h("span", { id: `s${idx}1`, class: `LatestResult ${idx == 0 ? 'First' : ''} ${this.showLiveClass ? 'FirstElementAnimated' : ''} ${this.getRouletteNumberColor(rNum[1])}` }, ' ', rNum[1]))) : (index.h("span", { id: `s${idx}`, class: `LatestResult ${idx == 0 ? 'First' : ''} ${this.showLiveClass ? 'FirstElementAnimated' : ''} ${this.getRouletteNumberColor(rNum)}` }, ' ', rNum)))))));
|
41
|
+
}
|
42
|
+
};
|
43
|
+
CasinoExtrainfoRoulette.style = casinoExtrainfoRouletteCss;
|
44
|
+
|
45
|
+
exports.casino_extrainfo_roulette = CasinoExtrainfoRoulette;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
const index = require('./index-65a1d768.js');
|
4
|
+
|
5
|
+
/*
|
6
|
+
Stencil Client Patch Browser v2.15.2 | MIT Licensed | https://stenciljs.com
|
7
|
+
*/
|
8
|
+
const patchBrowser = () => {
|
9
|
+
const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('casino-game-thumb-view.cjs.js', document.baseURI).href));
|
10
|
+
const opts = {};
|
11
|
+
if (importMeta !== '') {
|
12
|
+
opts.resourcesUrl = new URL('.', importMeta).href;
|
13
|
+
}
|
14
|
+
return index.promiseResolve(opts);
|
15
|
+
};
|
16
|
+
|
17
|
+
patchBrowser().then(options => {
|
18
|
+
return index.bootstrapLazy([["casino-game-thumbnail-betlimit_2.cjs",[[4,"casino-game-thumbnail-extrainfo",{"language":[1],"betLimit":[32],"gameInfo":[32],"gameDetails":[32],"onGameLoaded":[64],"onGameDetailUpdated":[64]}],[0,"casino-game-thumbnail-betlimit",{"betLimit":[16],"numberOfPlayers":[2,"number-of-players"]}]]],["casino-extrainfo-baccarat.cjs",[[0,"casino-extrainfo-baccarat",{"language":[1],"showRoundBoard":[4,"show-round-board"],"gameInfo":[32],"gameDetails":[32],"onGameLoaded":[64],"onGameDetailUpdated":[64],"onBaccaratResultChanged":[64]}]]],["casino-extrainfo-blackjack.cjs",[[0,"casino-extrainfo-blackjack",{"language":[1],"gameInfo":[32],"gameDetails":[32],"seatsStatus":[32],"isTableFull":[32],"onGameLoaded":[64],"onGameDetailUpdated":[64]}]]],["casino-extrainfo-roulette.cjs",[[0,"casino-extrainfo-roulette",{"language":[1],"gameInfo":[32],"gameDetails":[32],"showLiveClass":[32],"onGameLoaded":[64],"onGameDetailUpdated":[64]}]]],["casino-normal-game-thumbnail.cjs",[[0,"casino-normal-game-thumbnail",{"language":[1],"onGameLoaded":[64]}]]],["casino-game-thumb-view_2.cjs",[[1,"casino-game-thumb-view",{"language":[1],"endpoint":[1],"userId":[8,"user-id"],"showGameName":[4,"show-game-name"],"session":[1],"showFavoredCategory":[4,"show-favored-category"],"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"integratedGameframeMobile":[4,"integrated-gameframe-mobile"],"gamepageModalurl":[1,"gamepage-modalurl"],"integratedGameframeDesktop":[4,"integrated-gameframe-desktop"],"loadDetails":[4,"load-details"],"showRoundBoard":[4,"show-round-board"],"visibilityConnect":[1,"visibility-connect"],"connectLive":[1,"connect-live"],"gameCategory":[1,"game-category"],"livelobbyEndpoint":[1,"livelobby-endpoint"],"gameId":[8,"game-id"],"gameName":[1,"game-name"],"subVendor":[1,"sub-vendor"],"gameVendor":[1,"game-vendor"],"hasFunMode":[4,"has-fun-mode"],"hasAnonymousFunMode":[4,"has-anonymous-fun-mode"],"platform":[1],"thumbnail":[1],"isFavorite":[4,"is-favorite"],"isNew":[4,"is-new"],"cellSize":[1,"cell-size"],"gameTag":[1,"game-tag"],"type":[1],"gameInfo":[32],"isTableFull":[32],"hover":[32]},[[1,"mouseenter","handleMouseOver"],[1,"mouseleave","handleMouseOver"],[4,"gameFavorited","gameFavoritedHandler"],[0,"gameDetailChange","gameDetailChangeHandler"]]],[4,"casino-game-thumbnail-overlay",{"gamepageModalurl":[1,"gamepage-modalurl"],"integratedGameframeMobile":[4,"integrated-gameframe-mobile"],"integratedGameframeDesktop":[4,"integrated-gameframe-desktop"],"language":[1],"gameName":[1,"game-name"],"gameVendor":[1,"game-vendor"],"gameId":[8,"game-id"],"hasFunMode":[4,"has-fun-mode"]}]]]], options);
|
19
|
+
});
|