难度选择功能

This commit is contained in:
TJH 2026-04-10 11:23:16 +08:00
parent 5bf674aa9e
commit eeb4158187
21 changed files with 693 additions and 137 deletions

View File

@ -574,9 +574,9 @@
"_dstBlendFactor": 4, "_dstBlendFactor": 4,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
"r": 130, "r": 255,
"g": 214, "g": 246,
"b": 40, "b": 187,
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": {
@ -1058,9 +1058,9 @@
"_dstBlendFactor": 4, "_dstBlendFactor": 4,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
"r": 130, "r": 255,
"g": 214, "g": 246,
"b": 40, "b": 187,
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": {

View File

@ -1158,7 +1158,6 @@
"multiNode": { "multiNode": {
"__id__": 36 "__id__": 36
}, },
"bombNode": null,
"multiSpriteFrames": [ "multiSpriteFrames": [
{ {
"__uuid__": "41856c4f-db7d-41ef-bd58-cd9c9987baee@f9941", "__uuid__": "41856c4f-db7d-41ef-bd58-cd9c9987baee@f9941",

View File

@ -899,7 +899,6 @@
"__id__": 26 "__id__": 26
}, },
"multiNode": null, "multiNode": null,
"bombNode": null,
"multiSpriteFrames": [], "multiSpriteFrames": [],
"blurMultiSpriteFrames": [], "blurMultiSpriteFrames": [],
"_id": "" "_id": ""

View File

@ -28,8 +28,8 @@ export class Icon extends Component {
@property(Node) @property(Node)
multiNode: Node = null; multiNode: Node = null;
@property(Node) // @property(Node)
bombNode: Node = null; // bombNode: Node = null;
@property([SpriteFrame]) @property([SpriteFrame])
multiSpriteFrames: SpriteFrame[] = []; multiSpriteFrames: SpriteFrame[] = [];
@ -63,8 +63,14 @@ export class Icon extends Component {
this.normalNode.active = true; this.normalNode.active = true;
this.showFastIcon(false); this.showFastIcon(false);
this.spineNode.active = false; this.spineNode.active = false;
if (this.multiNode) this.multiNode.active = false; if (this.multiNode) {
if (this.bombNode) this.bombNode.active = false; this.multiNode.active = false;
this.multiNode.setScale(1, 1, 1);
}
// if (this.bombNode) {
// this.bombNode.active = false;
// this.bombNode.setScale(1, 1, 1);
// }
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton); let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
if (spine) { if (spine) {
@ -172,6 +178,20 @@ export class Icon extends Component {
} }
} }
playMultiSpine() {
this.spineNode.active = true;
this.normalNode.active = false;
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
if (spine) {
// spine.setAnimation(0, 'xiaoshi', false);
// spine.setCompleteListener(() => {
// spine.setCompleteListener(null);
// this.spineNode.active = false;
// this.bombNode.active = true;
// })
}
}
playDeleteSpine() { playDeleteSpine() {
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton); let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);

View File

@ -158,12 +158,11 @@ export class Roller extends Component {
} }
for (let i = 0; i < this.row; i++) { for (let i = 0; i < this.row; i++) {
this.createNormalIcon(i, data[i], 1); this.createNormalIcon(i, data[i]);
} }
} }
createNormalIcon(pos: number, iconIndex: number, test: number = 0): Node { createNormalIcon(pos: number, iconIndex: number): Node {
let iconNode = this.iconFactory.icfactoryCreateIcon(iconIndex); let iconNode = this.iconFactory.icfactoryCreateIcon(iconIndex);
let icon = iconNode.getComponent(Icon); let icon = iconNode.getComponent(Icon);
icon.initIcon(iconIndex, 1, this._rollerId); icon.initIcon(iconIndex, 1, this._rollerId);
@ -222,18 +221,17 @@ export class Roller extends Component {
let seen = new Set<Node>(); let seen = new Set<Node>();
let exitTopY = this.getIconPosition(4).y - (this.row - 2) * this.iconHeight; let exitTopY = this.getIconPosition(4).y - (this.row - 2) * this.iconHeight;
// 图标向上飞出,顶行先出(行间隔 0.03s,快速模式同时) // 开转时旧图标快速退场:底行先出,普通模式做轻微错峰
// 修改为图标向下飞出,底行先出,速度不变
for (let i = this.row - 1; i >= 0; i--) { for (let i = this.row - 1; i >= 0; i--) {
let icon = this.grid[i]; let icon = this.grid[i];
if (icon && !seen.has(icon)) { if (icon && !seen.has(icon)) {
seen.add(icon); seen.add(icon);
this._exitingIcons.push(icon); this._exitingIcons.push(icon);
let iconRef = icon; let iconRef = icon;
let exitDelay = this._info.isFastSpin ? 0 : (this.row - i) * 0.03; let exitDelay = this._info.isFastSpin ? 0 : (this.row - 1 - i) * 0.02;
tween(iconRef) tween(iconRef)
.delay(exitDelay) .delay(exitDelay)
.to(0.18, { position: v3(0, exitTopY, 0) }, { easing: 'quadIn' }) .to(0.14, { position: v3(0, exitTopY, 0) }, { easing: 'quadIn' })
.call(() => { .call(() => {
let idx = this._exitingIcons.indexOf(iconRef); let idx = this._exitingIcons.indexOf(iconRef);
if (idx !== -1) this._exitingIcons.splice(idx, 1); if (idx !== -1) this._exitingIcons.splice(idx, 1);
@ -253,7 +251,7 @@ export class Roller extends Component {
this._info.state = ROLLER_STATE.ACCELERATE; this._info.state = ROLLER_STATE.ACCELERATE;
// 退场结束后标记"可掉落" // 退场结束后标记"可掉落"
let exitDuration = this._info.isFastSpin ? 0.18 : 0.18 + (this.row - 1) * 0.03; let exitDuration = this._info.isFastSpin ? 0.14 : 0.14 + (this.row - 1) * 0.02;
this.scheduleOnce(() => { this.scheduleOnce(() => {
if (this._info.state !== ROLLER_STATE.ACCELERATE) return; if (this._info.state !== ROLLER_STATE.ACCELERATE) return;
this._info.state = ROLLER_STATE.UNIFORM; this._info.state = ROLLER_STATE.UNIFORM;
@ -287,8 +285,8 @@ export class Roller extends Component {
let topY = this.getIconPosition(0, 1).y; let topY = this.getIconPosition(0, 1).y;
let isFast = this._info.isFastSpin; let isFast = this._info.isFastSpin;
// 普通模式行间隔 0.05s;快速/急停无间隔 // 普通模式行间隔更紧凑;快速/急停无间隔
let rowInterval = isFast ? 0 : 0.05; let rowInterval = isFast ? 0 : 0.035;
let maxTime = 0; let maxTime = 0;
for (let i = 0; i < this.row; i++) { for (let i = 0; i < this.row; i++) {
@ -321,7 +319,7 @@ export class Roller extends Component {
// 列延迟 + 行内延迟 // 列延迟 + 行内延迟
let rowDelay = extraDelay + (this.row - 1 - i) * rowInterval; // 底行先落,顶行后落 let rowDelay = extraDelay + (this.row - 1 - i) * rowInterval; // 底行先落,顶行后落
let distance = Math.abs(startY - targetPos.y); let distance = Math.abs(startY - targetPos.y);
let fallTime = Math.min(Math.max(Math.sqrt(distance) / 55, 0.15), 0.32); let fallTime = Math.min(Math.max(Math.sqrt(distance) / 55, 0.12), 0.24);
let iconRef = iconNode; let iconRef = iconNode;
if (this._info.noBounce) { if (this._info.noBounce) {
@ -340,8 +338,8 @@ export class Roller extends Component {
maxTime = Math.max(maxTime, rowDelay + fallTime); maxTime = Math.max(maxTime, rowDelay + fallTime);
} else { } else {
let bounceH = Math.min(Math.max(distance * 0.08, 6), 18); let bounceH = Math.min(Math.max(distance * 0.08, 6), 18);
let bounceUp = 0.08; let bounceUp = 0.05;
let bounceDown = 0.06; let bounceDown = 0.04;
let bouncePos = targetPos.clone().add(v3(0, bounceH, 0)); let bouncePos = targetPos.clone().add(v3(0, bounceH, 0));
tween(iconRef) tween(iconRef)
@ -469,7 +467,7 @@ export class Roller extends Component {
allIcons = [...this._newCreateIconNode, ...allIcons]; allIcons = [...this._newCreateIconNode, ...allIcons];
allIcons.sort((a, b) => b.position.y - a.position.y); allIcons.sort((a, b) => b.position.y - a.position.y);
let interval = 0.05; let interval = 0.03;
let targetPos = this.row; let targetPos = this.row;
let dealyCount = 0; let dealyCount = 0;
let timeEnd = 0; let timeEnd = 0;
@ -484,13 +482,13 @@ export class Roller extends Component {
if (iconNode.position.y !== targetPosition.y) { if (iconNode.position.y !== targetPosition.y) {
let distance = Math.abs(iconNode.position.y - targetPosition.y); let distance = Math.abs(iconNode.position.y - targetPosition.y);
let fallTime = Math.min(Math.max(Math.sqrt(distance) / 55, 0.12), 0.28); let fallTime = Math.min(Math.max(Math.sqrt(distance) / 55, 0.10), 0.20);
let bounceH1 = Math.min(Math.max(distance * 0.18, 12), 26); let bounceH1 = Math.min(Math.max(distance * 0.18, 12), 26);
let bounceH2 = Math.floor(bounceH1 * 0.5); let bounceH2 = Math.floor(bounceH1 * 0.5);
let bounceTime1Up = Math.min(Math.max(0.06 + bounceH1 * 0.002, 0.08), 0.12); let bounceTime1Up = Math.min(Math.max(0.05 + bounceH1 * 0.0015, 0.05), 0.08);
let bounceTime1Down = bounceTime1Up * 0.85; let bounceTime1Down = bounceTime1Up * 0.8;
let bouncePos2 = targetPosition.clone().add(v3(0, bounceH2, 0)); let bouncePos2 = targetPosition.clone().add(v3(0, bounceH2, 0));

View File

@ -5,17 +5,8 @@ import { ICON_HEIGHT, ICON_WIDTH, IParsedGameData, ROLLER_COMBINE_EVENT, ROLLER_
import { AudioManager } from '../../Main/Scripts/managers/AudioManager'; import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
let { ccclass, property, executeInEditMode } = _decorator; let { ccclass, property, executeInEditMode } = _decorator;
// 帧到启动ID映射按帧序 // 普通模式下各列起转的间隔(秒)
let frameOrder = [ let startScrollStagger = 0.08;
{ frame: 1, ids: [0] },
{ frame: 5, ids: [1] },
{ frame: 8, ids: [2] },
{ frame: 11, ids: [3] },
{ frame: 14, ids: [4] },
{ frame: 17, ids: [5] },
];
let fps = 30;
@ccclass('RollerManager') @ccclass('RollerManager')
@executeInEditMode @executeInEditMode
@ -181,18 +172,14 @@ export class RollerManager extends Component {
this.node.emit(ROLLER_COMBINE_EVENT.ROLLER_BOUNCE, rollerId); this.node.emit(ROLLER_COMBINE_EVENT.ROLLER_BOUNCE, rollerId);
let stopData = this._resultStopData[rollerId]; let stopData = this._resultStopData[rollerId];
let isWild = stopData.indexOf(0) !== -1; let isScatter = stopData.indexOf(0) !== -1;
let isScatter = stopData.indexOf(1) !== -1;
if (!this._isFreeSpin && !this._isManualStop && !this._isFastSpin) { if (!this._isFreeSpin && !this._isManualStop && !this._isFastSpin) {
if (isWild && !isScatter) {
AudioManager.instance.playSFX('Appear_Wild_Sound');
}
if (isScatter) { if (isScatter) {
AudioManager.instance.playSFX('Appear_Scatter_Sound'); AudioManager.instance.playSFX('Appear_Scatter_Sound');
} }
if (!isWild && !isScatter) { if (!isScatter) {
AudioManager.instance.playSFX('Roller_Down'); AudioManager.instance.playSFX('Roller_Down');
} }
} }
@ -214,7 +201,7 @@ export class RollerManager extends Component {
hasEmitScatterTween: boolean = false; hasEmitScatterTween: boolean = false;
onRollerStop(rollerId: number) { onRollerStop(rollerId: number) {
this.node.emit(ROLLER_COMBINE_EVENT.ONE_ROLLER_STOP, rollerId); this.node.emit(ROLLER_COMBINE_EVENT.ONE_ROLLER_STOP, rollerId);
let allRollerStop = true; let allRollerStop = true;
for (let i = 0; i < this.allRollers.length; i++) { for (let i = 0; i < this.allRollers.length; i++) {
@ -230,18 +217,13 @@ export class RollerManager extends Component {
this.hasEmitScatterTween = false; this.hasEmitScatterTween = false;
if (this._isFastSpin || this._isManualStop) { if (this._isFastSpin || this._isManualStop) {
let hasScatter = this._parsedData.PanData.indexOf(1) !== -1; let hasScatter = this._parsedData.PanData.indexOf(0) !== -1;
let hasWild = this._parsedData.PanData.indexOf(0) !== -1;
if (hasWild && !hasScatter) {
AudioManager.instance.playSFX('Appear_Wild_Sound');
}
if (hasScatter) { if (hasScatter) {
AudioManager.instance.playSFX('Appear_Scatter_Sound'); AudioManager.instance.playSFX('Appear_Scatter_Sound');
} }
if (!hasWild && !hasScatter) { if (!hasScatter) {
AudioManager.instance.playSFX('Roller_Down'); AudioManager.instance.playSFX('Roller_Down');
} }
} }
@ -421,18 +403,16 @@ export class RollerManager extends Component {
} }
} }
} else { } else {
frameOrder.forEach(({ frame, ids }) => { for (let i = 0; i < this.allRollers.length; i++) {
let delay = Math.max(0, (frame - 1) / fps); let roller = this.allRollers[i];
ids.forEach(id => { let delay = i * startScrollStagger;
let roller = this.allRollers[id]; if (roller) {
if (roller) { this.scheduleOnce(() => {
this.scheduleOnce(() => { if (this._isManualStop) return;
if (this._isManualStop) return; roller.startScroll();
roller.startScroll(); }, delay);
}, delay); }
} }
});
});
} }
} }
@ -443,8 +423,8 @@ export class RollerManager extends Component {
let panData = data.PanData; let panData = data.PanData;
this._resultStopData = this.splitArray(panData, [5, 5, 5, 5, 5, 5]); this._resultStopData = this.splitArray(panData, [5, 5, 5, 5, 5, 5]);
this.distributeFreeMulMap(data.FreeMulMap); this.distributeFreeMulMap(data.FreeMulMap);
if (this._isFastSpin) { if (this._isFastSpin) {
// 快速模式:所有列同时掉落 // 快速模式:所有列同时掉落
for (let i = 0; i < this.allRollers.length; i++) { for (let i = 0; i < this.allRollers.length; i++) {
@ -452,9 +432,9 @@ export class RollerManager extends Component {
roller.stopScroll(this._resultStopData[i], 0); roller.stopScroll(this._resultStopData[i], 0);
} }
} else { } else {
// 普通模式:从左到右依次掉落,每列间隔 0.12s // 普通模式:从左到右依次掉落,每列间隔更紧凑
for (let i = 0; i < this.allRollers.length; i++) { for (let i = 0; i < this.allRollers.length; i++) {
const colDelay = i * 0.12; const colDelay = i * 0.09;
const roller = this.allRollers[i]; const roller = this.allRollers[i];
const stopData = this._resultStopData[i]; const stopData = this._resultStopData[i];
this.scheduleOnce(() => { this.scheduleOnce(() => {

View File

@ -1,9 +1,11 @@
import { _decorator, Component, instantiate, Label, Node, sp, Sprite, Tween, tween, UIOpacity, UITransform, v3, Vec3 } from 'cc'; import { _decorator, Component, director, instantiate, Label, Node, sp, Sprite, Tween, tween, UIOpacity, UITransform, v3, Vec3 } from 'cc';
import { I18nManager } from '../../Main/Scripts/managers/I18nManager'; import { I18nManager } from '../../Main/Scripts/managers/I18nManager';
import { getLanguage, gold2cash } from '../../Main/Scripts/main/comm'; import { getLanguage, gold2cash } from '../../Main/Scripts/main/comm';
import { UIManager } from '../../Main/Scripts/managers/UIManager'; import { UIManager } from '../../Main/Scripts/managers/UIManager';
import { AudioManager } from '../../Main/Scripts/managers/AudioManager'; import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
import { Icon } from './Icon'; import { Icon } from './Icon';
import { SlotGame } from './SlotGame';
import { SlotBar } from './SlotBar';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@ccclass('SlotMsg') @ccclass('SlotMsg')
@ -148,6 +150,7 @@ export class SlotMsg extends Component {
let msg = this.middleMsgSpine.node.getChildByName('msg'); let msg = this.middleMsgSpine.node.getChildByName('msg');
let winCount = msg.getChildByName('winCount'); let winCount = msg.getChildByName('winCount');
winCount.getComponent(Label).string = gold2cash(endScore); winCount.getComponent(Label).string = gold2cash(endScore);
AudioManager.instance.playSFX('Slot_Msg_Normal_Win');
} }
showTotalWinMsg(endScore: number) { showTotalWinMsg(endScore: number) {
@ -173,11 +176,137 @@ export class SlotMsg extends Component {
this.largeMsgSpine.node.active = false; this.largeMsgSpine.node.active = false;
} }
/**
*
* @param spinData spin数据
* @param callBack
*
* run是asyncawait/promise
* run里每一行的逻辑做中文注释
*/
showMultiWinAnimation(spinData, callBack: () => void) { showMultiWinAnimation(spinData, callBack: () => void) {
this.scheduleOnce(() => { // 获取倍率描述,多模式下兼容字段名
this.showTotalWinMsg(spinData.WinInfo.MulDesc.Multied); let mulDesc = spinData?.WinInfo?.MulDesc || spinData?.WinInfo?.muldesc;
callBack(); let multiedScore = mulDesc?.Multied; // 最终得到的分数
}, 1) let mulValue = mulDesc?.Mul; // 总倍率
let slotGame = director.getScene()?.getComponentInChildren(SlotGame);
let bombInfos = slotGame?.getCurrentBombSettleInfos?.() || []; // 炸弹节点信息
if (!bombInfos.length) {
console.error('SlotGame not find bombInfos msg');
return;
}
// 提示分数的spine节点和最终显示位置
let msg = this.largeMsgSpine.node.getChildByName('msg');
let winCount = msg.getChildByName('winCount');
let uiTf = this.node.getComponent(UITransform);
let centerLocalPos = v3(0, -315, 0); // 动画中心点坐标(本地)
let targetLocalPos = uiTf.convertToNodeSpaceAR(winCount.getWorldPosition()); // 目标分数字显示位置
// 设置一个节点的多倍文本
let setMulText = (node: Node, mul: number) => {
let labNode = node.getChildByName('lab');
if (!labNode) return;
let lab = labNode.getComponent(Label);
if (!lab) return;
lab.string = `x${mul}`;
};
// 节点tween到目标位置的promise动画完resolve
let tweenToAsync = (node: Node, toPos: Vec3, duration: number) => {
return new Promise<void>((resolve) => {
tween(node)
.to(duration, { position: toPos }, { easing: 'quadInOut' })
.call(() => resolve())
.start();
});
};
// 放大动画脉冲的promise动画完resolve
let pulseAsync = (node: Node) => {
return new Promise<void>((resolve) => {
tween(node)
.to(0.2, { scale: v3(1.5, 1.5, 1.5) }, { easing: 'quadOut' })
.call(() => resolve())
.start();
});
};
// 延迟promise用于动画间隔
let delayAsync = (seconds: number) => {
return new Promise<void>((resolve) => {
this.scheduleOnce(() => resolve(), seconds);
});
};
// === 跑队列 ===
// 这部分run内部就是完整的队列模式所有动画/节点操作都是await同步执行
let run = async () => {
// 1. 克隆一个multiNode做为动画的中心倍率展示
let seedNode = bombInfos[0]?.multiNode;
let centerMulNode = instantiate(seedNode);
this.node.addChild(centerMulNode);
centerMulNode.setPosition(centerLocalPos);
centerMulNode.setScale(1, 1, 1);
centerMulNode.active = false;
setMulText(centerMulNode, 0);
let sumMul = 0;
// 2. 遍历每一个待结算的bomb多倍icon按顺序“飞入中心”, 逐步累加
for (let i = 0; i < bombInfos.length; i++) {
let info = bombInfos[i];
if (!info?.multiNode?.isValid) continue;
let iconComp = info.iconNode?.getComponent(Icon);
// 2.1 播放爆炸动画 加入队列,爆炸完之后再进行下一步
await new Promise<void>((resolve) => {
iconComp.playMultiSpine();
this.scheduleOnce(() => resolve(), 0.2);
});
// 2.2 当前multiNode放大脉冲动画await保证上一步结束
await pulseAsync(info.multiNode);
// 2.3 复制multiNode实际用于“飞入中心”
let sourceWorldPos = info.multiNode.getWorldPosition();
let sourceLocalPos = uiTf.convertToNodeSpaceAR(sourceWorldPos);
let flyNode = instantiate(info.multiNode);
info.multiNode.active = false;
this.node.addChild(flyNode);
flyNode.setPosition(sourceLocalPos);
// 2.4 飞到中心动画
await tweenToAsync(flyNode, centerLocalPos, 0.3);
flyNode.destroy();
// 2.5 累加倍率,中心节点显示最新总倍率
sumMul += info.mul;
centerMulNode.active = true;
setMulText(centerMulNode, sumMul);
// 2.6 中心放大动画(脉冲)
await pulseAsync(centerMulNode);
// 2.7 小延迟准备下一个icon
await delayAsync(0.08);
}
// 4. 中心multi飞到最终目标位置
await tweenToAsync(centerMulNode, targetLocalPos, 0.2);
centerMulNode.destroy();
// 5. 展示最终总分获胜弹窗
this.showTotalWinMsg(multiedScore);
// 直接调用回调(如果业务上需要动画结束后再回调可考虑调整)
if (callBack) callBack();
let slotBar = director.getScene()?.getComponentInChildren(SlotBar);
if (slotBar) slotBar.updateWinMsg(spinData.AllScore);
};
// 直接触发队列执行不等待run()结束动画流程内部用await限定顺序外部流程不依赖
run();
} }
showTipSmall(tips: string, Type: string = "") { showTipSmall(tips: string, Type: string = "") {

View File

@ -112,6 +112,9 @@ export class SlotScene extends Component {
GameDataManager.instance.canClickIconMsg = false; GameDataManager.instance.canClickIconMsg = false;
this.slotBar.setGameInfo(this.gameInfo); this.slotBar.setGameInfo(this.gameInfo);
this.slotMsg.showLabelMsgForTween(); this.slotMsg.showLabelMsgForTween();
this.node.getChildByName('Choose').children.forEach((child: Node, index: number) => {
child.active = index == GameDataManager.instance.chooseDiff - 1;
})
this.updateGameState(); this.updateGameState();
this.isFreeSpin = this.spinData.Free != null && this.spinData && this.spinData.Free && this.spinData.Free.LeftCount > 0; this.isFreeSpin = this.spinData.Free != null && this.spinData && this.spinData.Free && this.spinData.Free.LeftCount > 0;
if (this.isFreeSpin) { if (this.isFreeSpin) {
@ -146,6 +149,7 @@ export class SlotScene extends Component {
this.slotBar.manualStop(this.hasEliminate); this.slotBar.manualStop(this.hasEliminate);
this.slotGame.playIconWinAni(this.spinData); this.slotGame.playIconWinAni(this.spinData);
this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score); this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score);
this.slotBar.updateWinMsg(this.spinData.AllScore);
if (this.isDebug) { if (this.isDebug) {
this.nextSpinInfo = GAME_DATA; this.nextSpinInfo = GAME_DATA;
} else { } else {
@ -351,6 +355,7 @@ export class SlotScene extends Component {
if (this.hasEliminate) { if (this.hasEliminate) {
this.slotGame.playIconWinAni(this.spinData); this.slotGame.playIconWinAni(this.spinData);
this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score); this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score);
this.slotBar.updateWinMsg(this.spinData.AllScore);
if (this.isDebug) { if (this.isDebug) {
this.nextSpinInfo = GAME_DATA; this.nextSpinInfo = GAME_DATA;
} else { } else {
@ -405,6 +410,7 @@ export class SlotScene extends Component {
if (this.hasEliminate) { if (this.hasEliminate) {
this.slotGame.playIconWinAni(this.spinData); this.slotGame.playIconWinAni(this.spinData);
this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score); this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score);
this.slotBar.updateWinMsg(this.spinData.AllScore);
if (this.isDebug) { if (this.isDebug) {
this.nextSpinInfo = GAME_DATA; this.nextSpinInfo = GAME_DATA;
} else { } else {
@ -419,7 +425,7 @@ export class SlotScene extends Component {
handleSpinResult() { handleSpinResult() {
this.lastSpinInfo = this.spinInfo; this.lastSpinInfo = this.spinInfo;
this.spinData = this.spinInfo.Data; this.spinData = this.spinInfo.Data;
// this.spinData.AllScore = 700000; // this.spinData.AllScore = 7000000000;
this.isReceiveMsg = true; this.isReceiveMsg = true;
if (this.spinInfo.Frb.Ongoing && this.isAutoSpin) if (this.spinInfo.Frb.Ongoing && this.isAutoSpin)
this.slotBar.closeAutoSpin(); this.slotBar.closeAutoSpin();
@ -448,9 +454,7 @@ export class SlotScene extends Component {
this.slotGame.upLayer.playScatterWaitSpine(true); this.slotGame.upLayer.playScatterWaitSpine(true);
this.scheduleOnce(() => { this.scheduleOnce(() => {
this.slotGame.upLayer.playScatterSpine(false); this.slotGame.upLayer.playScatterSpine(false);
this.updateBg(true); this.scheduleOnce(() => { this.updateBg(true); this.slotBar.updateIsFreeSpin(true); this.slotBar.setLeftCount(this.spinData.Free.MaxCount); }, 1)
this.slotBar.updateIsFreeSpin(true);
this.slotBar.setLeftCount(this.spinData.Free.MaxCount);
NodePoolManager.instance.getNodeFromPoolDynamic("FreeSpinEnter", "Prefab/FreeSpinEnter", "Game").then((prefab: Node) => { NodePoolManager.instance.getNodeFromPoolDynamic("FreeSpinEnter", "Prefab/FreeSpinEnter", "Game").then((prefab: Node) => {
this.node.addChild(prefab); this.node.addChild(prefab);
let freeCount = this.spinData.Free.MaxCount; let freeCount = this.spinData.Free.MaxCount;
@ -584,13 +588,14 @@ export class SlotScene extends Component {
if (this.spinData.WinInfo.MulDesc == null) { if (this.spinData.WinInfo.MulDesc == null) {
this.slotMsg.showTotalWinMsg(this.spinData.RoundInfo.Score); this.slotMsg.showTotalWinMsg(this.spinData.RoundInfo.Score);
this.slotBar.updateWinMsg(this.spinData.RoundInfo.Score);
callBack(); callBack();
return; return;
} }
if (this.spinData.WinInfo.MulDesc !== null) { if (this.spinData.WinInfo.MulDesc !== null) {
this.slotMsg.showTotalWinMsg(this.spinData.WinInfo.MulDesc.UnMultied); this.slotMsg.showTotalWinMsg(this.spinData.WinInfo.MulDesc.UnMultied);
this.slotMsg.showMultiWinAnimation(this.spinData, callBack) this.slotMsg.showMultiWinAnimation(this.spinData, callBack);
return; return;
} }
} }

View File

@ -186,18 +186,7 @@ export class UpLayer extends Component {
for (let i = 0; i < rm.allRollers.length; i++) { for (let i = 0; i < rm.allRollers.length; i++) {
this.syncSpecialFromRoller(rm.allRollers[i]); this.syncSpecialFromRoller(rm.allRollers[i]);
} }
} }
playReadyHandAni(rollerId: number) {
this.readHandLayer.active = true;
this.setReadHandSkeletonActive(true);
this.readyHandNode.getComponent(sp.Skeleton).setAnimation(0, 'animation', true);
this.readyHandGrayNode.children.forEach(child => child.active = true)
this.readyHandGrayNode.children[rollerId].active = false;
this.readyHandNode.setPosition(this.readyHandGrayNode.children[rollerId].position.clone());
}
setReadHandSkeletonActive(bol: boolean) { setReadHandSkeletonActive(bol: boolean) {
this.readyHandNode.active = bol; this.readyHandNode.active = bol;

View File

@ -25545,7 +25545,7 @@
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "choose", "_name": "Choose",
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"_parent": { "_parent": {
@ -26106,7 +26106,7 @@
}, },
"component": "", "component": "",
"_componentId": "869a6c2dfpJV5PioVAJJ/Lk", "_componentId": "869a6c2dfpJV5PioVAJJ/Lk",
"handler": "", "handler": "onBtnChooseDiff",
"customEventData": "" "customEventData": ""
}, },
{ {

View File

@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "ab66cc55-1313-4bf9-83e0-dd497d468b1f",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -0,0 +1,13 @@
Volatility.png
size: 122,122
format: RGBA8888
filter: Linear,Linear
repeat: none
5ueJ
rotate: false
xy: 2, 2
size: 118, 118
orig: 128, 128
offset: 5, 5
index: -1

View File

@ -0,0 +1,12 @@
{
"ver": "1.0.0",
"importer": "*",
"imported": true,
"uuid": "477dc91c-e91a-4480-a469-6e3288a8e463",
"files": [
".atlas",
".json"
],
"subMetas": {},
"userData": {}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
{
"ver": "1.2.6",
"importer": "spine-data",
"imported": true,
"uuid": "9030fe79-4cec-4ffe-bcc0-0e8ea00c664e",
"files": [
".json"
],
"subMetas": {},
"userData": {}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "3ae2b507-4b12-456b-b1e4-a54ac604cd16",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "3ae2b507-4b12-456b-b1e4-a54ac604cd16@6c48a",
"displayName": "Volatility",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "3ae2b507-4b12-456b-b1e4-a54ac604cd16",
"isUuid": true,
"visible": false,
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "3ae2b507-4b12-456b-b1e4-a54ac604cd16@f9941",
"displayName": "Volatility",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 2,
"trimY": 2,
"width": 118,
"height": 118,
"rawWidth": 122,
"rawHeight": 122,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-59,
-59,
0,
59,
-59,
0,
-59,
59,
0,
59,
59,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
2,
120,
120,
120,
2,
2,
120,
2
],
"nuv": [
0.01639344262295082,
0.01639344262295082,
0.9836065573770492,
0.01639344262295082,
0.01639344262295082,
0.9836065573770492,
0.9836065573770492,
0.9836065573770492
],
"minPos": [
-59,
-59,
0
],
"maxPos": [
59,
59,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "3ae2b507-4b12-456b-b1e4-a54ac604cd16@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "3ae2b507-4b12-456b-b1e4-a54ac604cd16@6c48a"
}
}

View File

@ -40,7 +40,7 @@
"AID_TIP_MAX_BET": "Maksimumsindsats", "AID_TIP_MAX_BET": "Maksimumsindsats",
"AID_TIP_MIN_BET": "Minimumsindsats", "AID_TIP_MIN_BET": "Minimumsindsats",
"AID_TIP_TURBO_DISABLED": "Turbospin deaktiveret", "AID_TIP_TURBO_DISABLED": "Turbospin deaktiveret",
"Prize Symbol": "Præmie symbol", "Prize Symbol": "Præmie symbol",
"AID_TIP_TURBO_ENABLED": "Turbospin aktiveret", "AID_TIP_TURBO_ENABLED": "Turbospin aktiveret",
"The event is currently under maintenance": "Eventet er under vedligeholdelse", "The event is currently under maintenance": "Eventet er under vedligeholdelse",
"Next refresh time": "Næste opdateringstid", "Next refresh time": "Næste opdateringstid",
@ -68,8 +68,18 @@
"Reward claim records": "Præmiehistorik", "Reward claim records": "Præmiehistorik",
"Event": "Event", "Event": "Event",
"Claim": "Hent", "Claim": "Hent",
"Event Time": "Eventtid" "Event Time": "Eventtid",
"AID_VOLATILITY_BUTTON": "Bekræft",
"AID_VOLATILITY_CONTENT_1_1": "Afslappet",
"AID_VOLATILITY_CONTENT_1_2": "Eventyr",
"AID_VOLATILITY_CONTENT_1_3": "High Roller",
"AID_VOLATILITY_CONTENT_2_1": "(Lav)",
"AID_VOLATILITY_CONTENT_2_2": "(Medium)",
"AID_VOLATILITY_CONTENT_2_3": "(Høj)",
"AID_VOLATILITY_CONTENT_3_1": "Uendelige gevinster",
"AID_VOLATILITY_CONTENT_3_2": "Spændingsspil",
"AID_VOLATILITY_CONTENT_3_3": "Mega gevinster",
"AID_VOLATILITY_TITLE": "Volatilitetstilstand"
}, },
"de": { "de": {
"AID_AUTO_BUTTON": "Auto-Dreh starten", "AID_AUTO_BUTTON": "Auto-Dreh starten",
@ -111,7 +121,7 @@
"AID_SWITCH_PORTRAIT_MODE": "Bitte wechsle in den Hochformat-Modus", "AID_SWITCH_PORTRAIT_MODE": "Bitte wechsle in den Hochformat-Modus",
"AID_TIP_MAX_BET": "Höchsteinsatz", "AID_TIP_MAX_BET": "Höchsteinsatz",
"AID_TIP_MIN_BET": "Mindesteinsatz", "AID_TIP_MIN_BET": "Mindesteinsatz",
"Prize Symbol": "Preissymbol", "Prize Symbol": "Preissymbol",
"AID_TIP_TURBO_DISABLED": "Turbo-Dreh deaktiviert", "AID_TIP_TURBO_DISABLED": "Turbo-Dreh deaktiviert",
"AID_TIP_TURBO_ENABLED": "Turbo-Dreh aktiviert", "AID_TIP_TURBO_ENABLED": "Turbo-Dreh aktiviert",
"The event is currently under maintenance": "Event wird gewartet", "The event is currently under maintenance": "Event wird gewartet",
@ -140,7 +150,18 @@
"Reward claim records": "Belohnungsverlauf", "Reward claim records": "Belohnungsverlauf",
"Event": "Event", "Event": "Event",
"Claim": "Abholen", "Claim": "Abholen",
"Event Time": "Eventzeit" "Event Time": "Eventzeit",
"AID_VOLATILITY_BUTTON": "Bestätigen",
"AID_VOLATILITY_CONTENT_1_1": "Gelegenheitsspieler",
"AID_VOLATILITY_CONTENT_1_2": "Abenteurer",
"AID_VOLATILITY_CONTENT_1_3": "High Roller",
"AID_VOLATILITY_CONTENT_2_1": "(Niedrig)",
"AID_VOLATILITY_CONTENT_2_2": "(Mittel)",
"AID_VOLATILITY_CONTENT_2_3": "(Hoch)",
"AID_VOLATILITY_CONTENT_3_1": "Endlose Gewinne",
"AID_VOLATILITY_CONTENT_3_2": "Spannungsspiel",
"AID_VOLATILITY_CONTENT_3_3": "Mega-Gewinne",
"AID_VOLATILITY_TITLE": "Volatilitätsmodus"
}, },
"en": { "en": {
"AID_AUTO_BUTTON": "Start Auto Spin", "AID_AUTO_BUTTON": "Start Auto Spin",
@ -161,7 +182,7 @@
"AID_GET_STARTED": "GET STARTED", "AID_GET_STARTED": "GET STARTED",
"AID_LOADING": "Loading…", "AID_LOADING": "Loading…",
"AID_MAIN_OPERATE_CLOSE": "Close", "AID_MAIN_OPERATE_CLOSE": "Close",
"Prize Symbol": "Prize Symbol", "Prize Symbol": "Prize Symbol",
"AID_MAIN_OPERATE_HISTORY": "History", "AID_MAIN_OPERATE_HISTORY": "History",
"AID_MAIN_OPERATE_PAYTABLE": "Paytable", "AID_MAIN_OPERATE_PAYTABLE": "Paytable",
"AID_MAIN_OPERATE_QUIT": "Quit", "AID_MAIN_OPERATE_QUIT": "Quit",
@ -211,7 +232,18 @@
"Reward claim records": "Reward claim records", "Reward claim records": "Reward claim records",
"Event": "Event", "Event": "Event",
"Claim": "Claim", "Claim": "Claim",
"Event Time": "Event Time" "Event Time": "Event Time",
"AID_VOLATILITY_BUTTON": "Confirm",
"AID_VOLATILITY_CONTENT_1_1": "Casual",
"AID_VOLATILITY_CONTENT_1_2": "Adventure",
"AID_VOLATILITY_CONTENT_1_3": "High Roller",
"AID_VOLATILITY_CONTENT_2_1": "(Low)",
"AID_VOLATILITY_CONTENT_2_2": "(Medium)",
"AID_VOLATILITY_CONTENT_2_3": "(High)",
"AID_VOLATILITY_CONTENT_3_1": "Endless Wins",
"AID_VOLATILITY_CONTENT_3_2": "Thrill Play",
"AID_VOLATILITY_CONTENT_3_3": "Mega Wins",
"AID_VOLATILITY_TITLE": "Volatility Mode"
}, },
"es": { "es": {
"AID_AUTO_BUTTON": "Iniciar Giros Automáticos", "AID_AUTO_BUTTON": "Iniciar Giros Automáticos",
@ -231,7 +263,7 @@
"AID_ERROR_TITLE": "Transacción Fallida", "AID_ERROR_TITLE": "Transacción Fallida",
"AID_GET_STARTED": "Comenzar", "AID_GET_STARTED": "Comenzar",
"AID_LOADING": "Cargando…", "AID_LOADING": "Cargando…",
"Prize Symbol": "Símbolo de premio", "Prize Symbol": "Símbolo de premio",
"AID_MAIN_OPERATE_CLOSE": "Cerrar", "AID_MAIN_OPERATE_CLOSE": "Cerrar",
"AID_MAIN_OPERATE_HISTORY": "Historial", "AID_MAIN_OPERATE_HISTORY": "Historial",
"AID_MAIN_OPERATE_PAYTABLE": "Tabla de Pagos", "AID_MAIN_OPERATE_PAYTABLE": "Tabla de Pagos",
@ -282,7 +314,18 @@
"Reward claim records": "Historial de Reclamaciones", "Reward claim records": "Historial de Reclamaciones",
"Event": "Evento", "Event": "Evento",
"Claim": "Reclamar", "Claim": "Reclamar",
"Event Time": "Tiempo del evento" "Event Time": "Tiempo del evento",
"AID_VOLATILITY_BUTTON": "Confirmar",
"AID_VOLATILITY_CONTENT_1_1": "Ocasional",
"AID_VOLATILITY_CONTENT_1_2": "Aventura",
"AID_VOLATILITY_CONTENT_1_3": "Jugador de alto riesgo",
"AID_VOLATILITY_CONTENT_2_1": "(Baja)",
"AID_VOLATILITY_CONTENT_2_2": "(Media)",
"AID_VOLATILITY_CONTENT_2_3": "(Alta)",
"AID_VOLATILITY_CONTENT_3_1": "Ganancias infinitas",
"AID_VOLATILITY_CONTENT_3_2": "Juego de emoción",
"AID_VOLATILITY_CONTENT_3_3": "Megaganancias",
"AID_VOLATILITY_TITLE": "Modo de volatilidad"
}, },
"fi": { "fi": {
"AID_AUTO_BUTTON": "Käynnistä Automaattipyöritys", "AID_AUTO_BUTTON": "Käynnistä Automaattipyöritys",
@ -353,7 +396,18 @@
"Reward claim records": "Palkintohistoria", "Reward claim records": "Palkintohistoria",
"Event": "Tapahtuma", "Event": "Tapahtuma",
"Claim": "Lunasta", "Claim": "Lunasta",
"Event Time": "Tapahtuma-aika" "Event Time": "Tapahtuma-aika",
"AID_VOLATILITY_BUTTON": "Vahvista",
"AID_VOLATILITY_CONTENT_1_1": "Rentoutuja",
"AID_VOLATILITY_CONTENT_1_2": "Seikkailija",
"AID_VOLATILITY_CONTENT_1_3": "Korkea panostaja",
"AID_VOLATILITY_CONTENT_2_1": "(Matala)",
"AID_VOLATILITY_CONTENT_2_2": "(Keskitaso)",
"AID_VOLATILITY_CONTENT_2_3": "(Korkea)",
"AID_VOLATILITY_CONTENT_3_1": "Loputtomat voitot",
"AID_VOLATILITY_CONTENT_3_2": "Jännityspeli",
"AID_VOLATILITY_CONTENT_3_3": "Megavoitot",
"AID_VOLATILITY_TITLE": "Volatiliteettitila"
}, },
"fr": { "fr": {
"AID_AUTO_BUTTON": "Démarrer Lancement Auto", "AID_AUTO_BUTTON": "Démarrer Lancement Auto",
@ -424,7 +478,18 @@
"Reward claim records": "Historique des réclamations", "Reward claim records": "Historique des réclamations",
"Event": "Événement", "Event": "Événement",
"Claim": "Réclamer", "Claim": "Réclamer",
"Event Time": "Temps de lévénement" "Event Time": "Temps de lévénement",
"AID_VOLATILITY_BUTTON": "Confirmer",
"AID_VOLATILITY_CONTENT_1_1": "Décontracté",
"AID_VOLATILITY_CONTENT_1_2": "Aventure",
"AID_VOLATILITY_CONTENT_1_3": "Gros parieur",
"AID_VOLATILITY_CONTENT_2_1": "(Faible)",
"AID_VOLATILITY_CONTENT_2_2": "(Moyenne)",
"AID_VOLATILITY_CONTENT_2_3": "(Élevée)",
"AID_VOLATILITY_CONTENT_3_1": "Gains infinis",
"AID_VOLATILITY_CONTENT_3_2": "Jeu de sensation",
"AID_VOLATILITY_CONTENT_3_3": "Méga gains",
"AID_VOLATILITY_TITLE": "Mode de volatilité"
}, },
"id": { "id": {
"AID_AUTO_BUTTON": "Mulai Putar Otomatis", "AID_AUTO_BUTTON": "Mulai Putar Otomatis",
@ -495,7 +560,18 @@
"Reward claim records": "Riwayat Klaim Hadiah", "Reward claim records": "Riwayat Klaim Hadiah",
"Event": "Acara", "Event": "Acara",
"Claim": "Klaim", "Claim": "Klaim",
"Event Time": "Waktu Event" "Event Time": "Waktu Event",
"AID_VOLATILITY_BUTTON": "Konfirmasi",
"AID_VOLATILITY_CONTENT_1_1": "Santal",
"AID_VOLATILITY_CONTENT_1_2": "Petualang",
"AID_VOLATILITY_CONTENT_1_3": "Pemain Taruhan Besar",
"AID_VOLATILITY_CONTENT_2_1": "(Rendah)",
"AID_VOLATILITY_CONTENT_2_2": "(Sedang)",
"AID_VOLATILITY_CONTENT_2_3": "(Tinggi)",
"AID_VOLATILITY_CONTENT_3_1": "Kemenangan Tanpa Henti",
"AID_VOLATILITY_CONTENT_3_2": "Permainan Seru",
"AID_VOLATILITY_CONTENT_3_3": "Kemenangan Mega",
"AID_VOLATILITY_TITLE": "Mode Volatilitas"
}, },
"it": { "it": {
"AID_AUTO_BUTTON": "Avvia Giocata Automatica", "AID_AUTO_BUTTON": "Avvia Giocata Automatica",
@ -537,7 +613,7 @@
"AID_SWITCH_PORTRAIT_MODE": "Seleziona la modalità verticale", "AID_SWITCH_PORTRAIT_MODE": "Seleziona la modalità verticale",
"AID_TIP_MAX_BET": "Puntata Massima", "AID_TIP_MAX_BET": "Puntata Massima",
"AID_TIP_MIN_BET": "Puntata Minima", "AID_TIP_MIN_BET": "Puntata Minima",
"Prize Symbol": "Simbolo del premio", "Prize Symbol": "Simbolo del premio",
"AID_TIP_TURBO_DISABLED": "Turbo Disattivato", "AID_TIP_TURBO_DISABLED": "Turbo Disattivato",
"AID_TIP_TURBO_ENABLED": "Turbo Attivato", "AID_TIP_TURBO_ENABLED": "Turbo Attivato",
"The event is currently under maintenance": "Evento in manutenzione", "The event is currently under maintenance": "Evento in manutenzione",
@ -566,7 +642,18 @@
"Reward claim records": "Cronologia dei Riscatti", "Reward claim records": "Cronologia dei Riscatti",
"Event": "Evento", "Event": "Evento",
"Claim": "Riscatta", "Claim": "Riscatta",
"Event Time": "Tempo evento" "Event Time": "Tempo evento",
"AID_VOLATILITY_BUTTON": "Conferma",
"AID_VOLATILITY_CONTENT_1_1": "Casuale",
"AID_VOLATILITY_CONTENT_1_2": "Avventura",
"AID_VOLATILITY_CONTENT_1_3": "Giocatore dalto livello",
"AID_VOLATILITY_CONTENT_2_1": "(Bassa)",
"AID_VOLATILITY_CONTENT_2_2": "(Media)",
"AID_VOLATILITY_CONTENT_2_3": "(Alta)",
"AID_VOLATILITY_CONTENT_3_1": "Vincite infinite",
"AID_VOLATILITY_CONTENT_3_2": "Gioco emozionante",
"AID_VOLATILITY_CONTENT_3_3": "Mega vincite",
"AID_VOLATILITY_TITLE": "Modalità di volatilità"
}, },
"ja": { "ja": {
"AID_AUTO_BUTTON": "オートスピン開始", "AID_AUTO_BUTTON": "オートスピン開始",
@ -608,7 +695,7 @@
"AID_SWITCH_PORTRAIT_MODE": "ポートレートモードに切りえてください", "AID_SWITCH_PORTRAIT_MODE": "ポートレートモードに切りえてください",
"AID_TIP_MAX_BET": "最大ベット", "AID_TIP_MAX_BET": "最大ベット",
"AID_TIP_MIN_BET": "最小ベット", "AID_TIP_MIN_BET": "最小ベット",
"Prize Symbol": "賞品のシンボル", "Prize Symbol": "賞品のシンボル",
"AID_TIP_TURBO_DISABLED": "ターボスピン オフ", "AID_TIP_TURBO_DISABLED": "ターボスピン オフ",
"AID_TIP_TURBO_ENABLED": "ターボスピン オン", "AID_TIP_TURBO_ENABLED": "ターボスピン オン",
"The event is currently under maintenance": "イベントはメンテナンス中です", "The event is currently under maintenance": "イベントはメンテナンス中です",
@ -637,7 +724,18 @@
"Reward claim records": "受け取り履歴", "Reward claim records": "受け取り履歴",
"Event": "イベント", "Event": "イベント",
"Claim": "受け取る", "Claim": "受け取る",
"Event Time": "イベント時間" "Event Time": "イベント時間",
"AID_VOLATILITY_BUTTON": "確認",
"AID_VOLATILITY_CONTENT_1_1": "カジュアル",
"AID_VOLATILITY_CONTENT_1_2": "アドベンチャー",
"AID_VOLATILITY_CONTENT_1_3": "ハイローラー",
"AID_VOLATILITY_CONTENT_2_1": "(低)",
"AID_VOLATILITY_CONTENT_2_2": "(中)",
"AID_VOLATILITY_CONTENT_2_3": "(高)",
"AID_VOLATILITY_CONTENT_3_1": "エンドレスウィン",
"AID_VOLATILITY_CONTENT_3_2": "スリルプレイ",
"AID_VOLATILITY_CONTENT_3_3": "メガウィン",
"AID_VOLATILITY_TITLE": "ボラティリティモード"
}, },
"ko": { "ko": {
"AID_AUTO_BUTTON": "자동 회전 시작", "AID_AUTO_BUTTON": "자동 회전 시작",
@ -647,7 +745,7 @@
"AID_ERROR_CODE_2": "(에러 코드: 2)", "AID_ERROR_CODE_2": "(에러 코드: 2)",
"AID_ERROR_CODE_3": "(에러 코드: 3)", "AID_ERROR_CODE_3": "(에러 코드: 3)",
"AID_ERROR_CODE_4": "(에러 코드: 4)", "AID_ERROR_CODE_4": "(에러 코드: 4)",
"Prize Symbol": "상금 기호", "Prize Symbol": "상금 기호",
"AID_ERROR_CONTENT_1": "세션이 만료되었거나 다른 기기에서 로그인되었습니다.", "AID_ERROR_CONTENT_1": "세션이 만료되었거나 다른 기기에서 로그인되었습니다.",
"AID_ERROR_CONTENT_2": "잔액이 부족합니다. 배팅 금액을 변경해 주세요.", "AID_ERROR_CONTENT_2": "잔액이 부족합니다. 배팅 금액을 변경해 주세요.",
"AID_ERROR_CONTENT_3": "잘못된 배팅 금액입니다. 올바른 배팅 금액을 선택해 주세요.", "AID_ERROR_CONTENT_3": "잘못된 배팅 금액입니다. 올바른 배팅 금액을 선택해 주세요.",
@ -708,7 +806,18 @@
"Reward claim records": "보상 수령 기록", "Reward claim records": "보상 수령 기록",
"Event": "이벤트", "Event": "이벤트",
"Claim": "수령", "Claim": "수령",
"Event Time": "이벤트 시간" "Event Time": "이벤트 시간",
"AID_VOLATILITY_BUTTON": "확인",
"AID_VOLATILITY_CONTENT_1_1": "캐주얼",
"AID_VOLATILITY_CONTENT_1_2": "어드벤처",
"AID_VOLATILITY_CONTENT_1_3": "하이 롤러",
"AID_VOLATILITY_CONTENT_2_1": "(낮음)",
"AID_VOLATILITY_CONTENT_2_2": "(중간)",
"AID_VOLATILITY_CONTENT_2_3": "(높음)",
"AID_VOLATILITY_CONTENT_3_1": "엔드리스 윈",
"AID_VOLATILITY_CONTENT_3_2": "스릴 플레이",
"AID_VOLATILITY_CONTENT_3_3": "메가 윈",
"AID_VOLATILITY_TITLE": "변동성 모드"
}, },
"my": { "my": {
"AID_AUTO_BUTTON": "အလိုအလျောက် လည်ခြင်းကို စတင်မည်", "AID_AUTO_BUTTON": "အလိုအလျောက် လည်ခြင်းကို စတင်မည်",
@ -718,7 +827,7 @@
"AID_ERROR_CODE_2": "(အမှားကုဒ်: 2)", "AID_ERROR_CODE_2": "(အမှားကုဒ်: 2)",
"AID_ERROR_CODE_3": "(အမှားကုဒ်: 3)", "AID_ERROR_CODE_3": "(အမှားကုဒ်: 3)",
"AID_ERROR_CODE_4": "(အမှားကုဒ်: 4)", "AID_ERROR_CODE_4": "(အမှားကုဒ်: 4)",
"Prize Symbol": "ဆုတံဆိပ်", "Prize Symbol": "ဆုတံဆိပ်",
"AID_ERROR_CONTENT_1": "ဆက်သွယ်မှုကျမှတ်ချိန်ကုန်သွားပါပြီ (သို့) အကောင့်သည် တခြားကိရိယာမှ log in ဝင်ထားပါသည်။", "AID_ERROR_CONTENT_1": "ဆက်သွယ်မှုကျမှတ်ချိန်ကုန်သွားပါပြီ (သို့) အကောင့်သည် တခြားကိရိယာမှ log in ဝင်ထားပါသည်။",
"AID_ERROR_CONTENT_2": "လက်ကျန်ငွေ မလုံလောက်ပါ။ အရောင်းပမာဏကို ပြောင်းလဲကြည့်ရှုပါ။", "AID_ERROR_CONTENT_2": "လက်ကျန်ငွေ မလုံလောက်ပါ။ အရောင်းပမာဏကို ပြောင်းလဲကြည့်ရှုပါ။",
"AID_ERROR_CONTENT_3": "တရားမဝင်သော အရောင်းပမာဏ။ မှန်ကန်သော အရောင်းပမာဏကို ရွေးချယ်ပါ။", "AID_ERROR_CONTENT_3": "တရားမဝင်သော အရောင်းပမာဏ။ မှန်ကန်သော အရောင်းပမာဏကို ရွေးချယ်ပါ။",
@ -779,7 +888,18 @@
"Reward claim records": "ဆုလက်ခံမှတ်တမ်း", "Reward claim records": "ဆုလက်ခံမှတ်တမ်း",
"Event": "ပွဲလှုပ်ရှားမှု", "Event": "ပွဲလှုပ်ရှားမှု",
"Claim": "ဆုလက်ခံမည်", "Claim": "ဆုလက်ခံမည်",
"Event Time": "ပွဲအချိန်" "Event Time": "ပွဲအချိန်",
"AID_VOLATILITY_BUTTON": "အတည်ပြုပါ",
"AID_VOLATILITY_CONTENT_1_1": "ပုံမှန်",
"AID_VOLATILITY_CONTENT_1_2": "စွန့်စားခန်း",
"AID_VOLATILITY_CONTENT_1_3": "အမြင့်ဆုံးလောင်းကြေးထားသူ",
"AID_VOLATILITY_CONTENT_2_1": "(အနိမ့်)",
"AID_VOLATILITY_CONTENT_2_2": "(အလယ်အလတ်)",
"AID_VOLATILITY_CONTENT_2_3": "(အမြင့်)",
"AID_VOLATILITY_CONTENT_3_1": "အဆုံးမရှိသော အနိုင်ရမှုများ",
"AID_VOLATILITY_CONTENT_3_2": "စိတ်လှုပ်ရှားဖွယ်ကစားနည်း",
"AID_VOLATILITY_CONTENT_3_3": "မဂါအနိုင်ရမှုများ",
"AID_VOLATILITY_TITLE": "အတက်အကျမုဒ်"
}, },
"nl": { "nl": {
"AID_AUTO_BUTTON": "Start Automatisch Draaien", "AID_AUTO_BUTTON": "Start Automatisch Draaien",
@ -787,7 +907,7 @@
"AID_AUTO_TITLE": "Automatisch Draaien", "AID_AUTO_TITLE": "Automatisch Draaien",
"AID_ERROR_CODE_1": "(Foutcode: 1)", "AID_ERROR_CODE_1": "(Foutcode: 1)",
"AID_ERROR_CODE_2": "(Foutcode: 2)", "AID_ERROR_CODE_2": "(Foutcode: 2)",
"Prize Symbol": "Prijs symbool", "Prize Symbol": "Prijs symbool",
"AID_ERROR_CODE_3": "(Foutcode: 3)", "AID_ERROR_CODE_3": "(Foutcode: 3)",
"AID_ERROR_CODE_4": "(Foutcode: 4)", "AID_ERROR_CODE_4": "(Foutcode: 4)",
"AID_ERROR_CONTENT_1": "Sessie verlopen of account is op een ander apparaat ingelogd.", "AID_ERROR_CONTENT_1": "Sessie verlopen of account is op een ander apparaat ingelogd.",
@ -850,7 +970,18 @@
"Reward claim records": "Claimgeschiedenis", "Reward claim records": "Claimgeschiedenis",
"Event": "Evenement", "Event": "Evenement",
"Claim": "Claimen", "Claim": "Claimen",
"Event Time": "Eventtijd" "Event Time": "Eventtijd",
"AID_VOLATILITY_BUTTON": "Bevestigen",
"AID_VOLATILITY_CONTENT_1_1": "Casual",
"AID_VOLATILITY_CONTENT_1_2": "Avontuur",
"AID_VOLATILITY_CONTENT_1_3": "High Roller",
"AID_VOLATILITY_CONTENT_2_1": "(Laag)",
"AID_VOLATILITY_CONTENT_2_2": "(Gemiddeld)",
"AID_VOLATILITY_CONTENT_2_3": "(Hoog)",
"AID_VOLATILITY_CONTENT_3_1": "Eindeloze winsten",
"AID_VOLATILITY_CONTENT_3_2": "Thrill Play",
"AID_VOLATILITY_CONTENT_3_3": "Megawinsten",
"AID_VOLATILITY_TITLE": "Volatiliteitsmodus"
}, },
"pt": { "pt": {
"AID_AUTO_BUTTON": "Iniciar Voltas Automáticas", "AID_AUTO_BUTTON": "Iniciar Voltas Automáticas",
@ -921,7 +1052,18 @@
"Reward claim records": "Histórico de Resgates", "Reward claim records": "Histórico de Resgates",
"Event": "Evento", "Event": "Evento",
"Claim": "Resgatar", "Claim": "Resgatar",
"Event Time": "Tempo do evento" "Event Time": "Tempo do evento",
"AID_VOLATILITY_BUTTON": "Confirmar",
"AID_VOLATILITY_CONTENT_1_1": "Descontraído",
"AID_VOLATILITY_CONTENT_1_2": "Aventura",
"AID_VOLATILITY_CONTENT_1_3": "Apostador de alto risco",
"AID_VOLATILITY_CONTENT_2_1": "(Baixa)",
"AID_VOLATILITY_CONTENT_2_2": "(Média)",
"AID_VOLATILITY_CONTENT_2_3": "(Alta)",
"AID_VOLATILITY_CONTENT_3_1": "Ganhos infinitos",
"AID_VOLATILITY_CONTENT_3_2": "Jogo de emoção",
"AID_VOLATILITY_CONTENT_3_3": "Megaganhos",
"AID_VOLATILITY_TITLE": "Modo de volatilidade"
}, },
"ro": { "ro": {
"AID_AUTO_BUTTON": "Începe Rotirea Automată", "AID_AUTO_BUTTON": "Începe Rotirea Automată",
@ -942,7 +1084,7 @@
"AID_GET_STARTED": "ÎNCEPE", "AID_GET_STARTED": "ÎNCEPE",
"AID_LOADING": "Se încarcă…", "AID_LOADING": "Se încarcă…",
"AID_MAIN_OPERATE_CLOSE": "Închide", "AID_MAIN_OPERATE_CLOSE": "Închide",
"Prize Symbol": "Simbolul premiului", "Prize Symbol": "Simbolul premiului",
"AID_MAIN_OPERATE_HISTORY": "Istoric", "AID_MAIN_OPERATE_HISTORY": "Istoric",
"AID_MAIN_OPERATE_PAYTABLE": "Tabel de Plăți", "AID_MAIN_OPERATE_PAYTABLE": "Tabel de Plăți",
"AID_MAIN_OPERATE_QUIT": "Ieșire", "AID_MAIN_OPERATE_QUIT": "Ieșire",
@ -992,7 +1134,18 @@
"Reward claim records": "Istoric revendicări", "Reward claim records": "Istoric revendicări",
"Event": "Eveniment", "Event": "Eveniment",
"Claim": "Revendică", "Claim": "Revendică",
"Event Time": "Timp eveniment" "Event Time": "Timp eveniment",
"AID_VOLATILITY_BUTTON": "Confirmă",
"AID_VOLATILITY_CONTENT_1_1": "Ocazional",
"AID_VOLATILITY_CONTENT_1_2": "Aventură",
"AID_VOLATILITY_CONTENT_1_3": "Jucător cu miză mare",
"AID_VOLATILITY_CONTENT_2_1": "(Scăzut)",
"AID_VOLATILITY_CONTENT_2_2": "(Mediu)",
"AID_VOLATILITY_CONTENT_2_3": "(Ridicat)",
"AID_VOLATILITY_CONTENT_3_1": "Câștiguri nesfârșite",
"AID_VOLATILITY_CONTENT_3_2": "Joc de senzație",
"AID_VOLATILITY_CONTENT_3_3": "Megacâștiguri",
"AID_VOLATILITY_TITLE": "Modul de volatilitate"
}, },
"ru": { "ru": {
"AID_AUTO_BUTTON": "Запустить автоспин", "AID_AUTO_BUTTON": "Запустить автоспин",
@ -1008,7 +1161,7 @@
"AID_ERROR_CONTENT_4": "Не удалось подключиться к серверу. Проверьте подключение к сети и повторите попытку.", "AID_ERROR_CONTENT_4": "Не удалось подключиться к серверу. Проверьте подключение к сети и повторите попытку.",
"AID_ERROR_OK_BUTTON": "OK", "AID_ERROR_OK_BUTTON": "OK",
"AID_ERROR_QUIT_BUTTON": "Выход", "AID_ERROR_QUIT_BUTTON": "Выход",
"Prize Symbol": "Символ приза", "Prize Symbol": "Символ приза",
"AID_ERROR_RETRY_BUTTON": "Повторить", "AID_ERROR_RETRY_BUTTON": "Повторить",
"AID_ERROR_TITLE": "Ошибка операции", "AID_ERROR_TITLE": "Ошибка операции",
"AID_GET_STARTED": "НАЧАТЬ", "AID_GET_STARTED": "НАЧАТЬ",
@ -1063,7 +1216,18 @@
"Reward claim records": "История получений", "Reward claim records": "История получений",
"Event": "Событие", "Event": "Событие",
"Claim": "Забрать", "Claim": "Забрать",
"Event Time": "Время события" "Event Time": "Время события",
"AID_VOLATILITY_BUTTON": "Подтвердить",
"AID_VOLATILITY_CONTENT_1_1": "Для начинающих",
"AID_VOLATILITY_CONTENT_1_2": "Приключение",
"AID_VOLATILITY_CONTENT_1_3": "Хайроллер",
"AID_VOLATILITY_CONTENT_2_1": "(Низкая)",
"AID_VOLATILITY_CONTENT_2_2": "(Средняя)",
"AID_VOLATILITY_CONTENT_2_3": "(Высокая)",
"AID_VOLATILITY_CONTENT_3_1": "Бесконечные выигрыши",
"AID_VOLATILITY_CONTENT_3_2": "Острые ощущения",
"AID_VOLATILITY_CONTENT_3_3": "Мега-выигрыши",
"AID_VOLATILITY_TITLE": "Режим волатильности"
}, },
"sv": { "sv": {
"AID_AUTO_BUTTON": "Starta autospinn", "AID_AUTO_BUTTON": "Starta autospinn",
@ -1083,7 +1247,7 @@
"AID_ERROR_TITLE": "Transaktion misslyckades", "AID_ERROR_TITLE": "Transaktion misslyckades",
"AID_GET_STARTED": "KOM IGÅNG", "AID_GET_STARTED": "KOM IGÅNG",
"AID_LOADING": "Laddar…", "AID_LOADING": "Laddar…",
"Prize Symbol": "Prissymbol", "Prize Symbol": "Prissymbol",
"AID_MAIN_OPERATE_CLOSE": "Stäng", "AID_MAIN_OPERATE_CLOSE": "Stäng",
"AID_MAIN_OPERATE_HISTORY": "Historik", "AID_MAIN_OPERATE_HISTORY": "Historik",
"AID_MAIN_OPERATE_PAYTABLE": "Vinsttabell", "AID_MAIN_OPERATE_PAYTABLE": "Vinsttabell",
@ -1134,7 +1298,18 @@
"Reward claim records": "Belöningshistorik", "Reward claim records": "Belöningshistorik",
"Event": "Evenemang", "Event": "Evenemang",
"Claim": "Hämta", "Claim": "Hämta",
"Event Time": "Eventtid" "Event Time": "Eventtid",
"AID_VOLATILITY_BUTTON": "Bekräfta",
"AID_VOLATILITY_CONTENT_1_1": "Avslappnad",
"AID_VOLATILITY_CONTENT_1_2": "Äventyr",
"AID_VOLATILITY_CONTENT_1_3": "High Roller",
"AID_VOLATILITY_CONTENT_2_1": "(Låg)",
"AID_VOLATILITY_CONTENT_2_2": "(Medel)",
"AID_VOLATILITY_CONTENT_2_3": "(Hög)",
"AID_VOLATILITY_CONTENT_3_1": "Oändliga vinster",
"AID_VOLATILITY_CONTENT_3_2": "Spänning",
"AID_VOLATILITY_CONTENT_3_3": "Megavinster",
"AID_VOLATILITY_TITLE": "Volatilitetsläge"
}, },
"th": { "th": {
"AID_AUTO_BUTTON": "เริ่มหมุนอัตโนมัติ", "AID_AUTO_BUTTON": "เริ่มหมุนอัตโนมัติ",
@ -1161,7 +1336,7 @@
"AID_MAIN_OPERATE_RULES": "กติกากา​รเล่น", "AID_MAIN_OPERATE_RULES": "กติกากา​รเล่น",
"AID_MAIN_OPERATE_SOUND": "เสียง", "AID_MAIN_OPERATE_SOUND": "เสียง",
"AID_MAIN_SHOW_BALANCE": "ยอดเงิน", "AID_MAIN_SHOW_BALANCE": "ยอดเงิน",
"Prize Symbol": "สัญลักษณ์รางวัล", "Prize Symbol": "สัญลักษณ์รางวัล",
"AID_MAIN_SHOW_BET": "เดิมพัน", "AID_MAIN_SHOW_BET": "เดิมพัน",
"AID_MAIN_SHOW_WIN": "เงินรางวัล", "AID_MAIN_SHOW_WIN": "เงินรางวัล",
"AID_NETWORK_RETRY_1": "เครือข่ายไม่ว่าง กำลังลองใหม่...(ครั้งที่ 1)", "AID_NETWORK_RETRY_1": "เครือข่ายไม่ว่าง กำลังลองใหม่...(ครั้งที่ 1)",
@ -1205,13 +1380,24 @@
"Reward claim records": "ประวัติการรับรางวัล", "Reward claim records": "ประวัติการรับรางวัล",
"Event": "กิจกรรม", "Event": "กิจกรรม",
"Claim": "รับรางวัล", "Claim": "รับรางวัล",
"Event Time": "เวลาอีเวนต์" "Event Time": "เวลาอีเวนต์",
"AID_VOLATILITY_BUTTON": "ยืนยัน",
"AID_VOLATILITY_CONTENT_1_1": "ทั่วไป",
"AID_VOLATILITY_CONTENT_1_2": "ผจญภัย",
"AID_VOLATILITY_CONTENT_1_3": "นักเดิมพันสูง",
"AID_VOLATILITY_CONTENT_2_1": "(ต่ำ)",
"AID_VOLATILITY_CONTENT_2_2": "(ปานกลาง)",
"AID_VOLATILITY_CONTENT_2_3": "(สูง)",
"AID_VOLATILITY_CONTENT_3_1": "ชนะไม่สิ้นสุด",
"AID_VOLATILITY_CONTENT_3_2": "การเล่นที่เร้าใจ",
"AID_VOLATILITY_CONTENT_3_3": "ชนะรางวัลใหญ่",
"AID_VOLATILITY_TITLE": "โหมดความผันผวน"
}, },
"tr": { "tr": {
"AID_AUTO_BUTTON": "Otomatik Oynatmayı Başlat", "AID_AUTO_BUTTON": "Otomatik Oynatmayı Başlat",
"AID_AUTO_CONTENT": "Otomatik Oyun Sayısı", "AID_AUTO_CONTENT": "Otomatik Oyun Sayısı",
"AID_AUTO_TITLE": "Otomatik Oyna", "AID_AUTO_TITLE": "Otomatik Oyna",
"Prize Symbol": "Ödül Sembolü", "Prize Symbol": "Ödül Sembolü",
"AID_ERROR_CODE_1": "(Hata kodu: 1)", "AID_ERROR_CODE_1": "(Hata kodu: 1)",
"AID_ERROR_CODE_2": "(Hata kodu: 2)", "AID_ERROR_CODE_2": "(Hata kodu: 2)",
"AID_ERROR_CODE_3": "(Hata kodu: 3)", "AID_ERROR_CODE_3": "(Hata kodu: 3)",
@ -1276,7 +1462,18 @@
"Reward claim records": "Ödül Alma Geçmişi", "Reward claim records": "Ödül Alma Geçmişi",
"Event": "Etkinlik", "Event": "Etkinlik",
"Claim": "Al", "Claim": "Al",
"Event Time": "Etkinlik Süresi" "Event Time": "Etkinlik Süresi",
"AID_VOLATILITY_BUTTON": "Onayla",
"AID_VOLATILITY_CONTENT_1_1": "Gündelik",
"AID_VOLATILITY_CONTENT_1_2": "Macera",
"AID_VOLATILITY_CONTENT_1_3": "Yüksek Bahisli",
"AID_VOLATILITY_CONTENT_2_1": "(Düşük)",
"AID_VOLATILITY_CONTENT_2_2": "(Orta)",
"AID_VOLATILITY_CONTENT_2_3": "(Yüksek)",
"AID_VOLATILITY_CONTENT_3_1": "Sonsuz Kazançlar",
"AID_VOLATILITY_CONTENT_3_2": "Heyecan Oyunu",
"AID_VOLATILITY_CONTENT_3_3": "Büyük Kazançlar",
"AID_VOLATILITY_TITLE": "Oynaklık Modu"
}, },
"vi": { "vi": {
"AID_AUTO_BUTTON": "Bắt Đầu Quay Tự Động", "AID_AUTO_BUTTON": "Bắt Đầu Quay Tự Động",
@ -1291,7 +1488,7 @@
"AID_ERROR_CONTENT_3": "Mức cược không hợp lệ. Vui lòng chọn Mức Cược chính xác.", "AID_ERROR_CONTENT_3": "Mức cược không hợp lệ. Vui lòng chọn Mức Cược chính xác.",
"AID_ERROR_CONTENT_4": "Kết nối đến máy chủ thất bại. Vui lòng kiểm tra kết nối mạng hoặc thử lại.", "AID_ERROR_CONTENT_4": "Kết nối đến máy chủ thất bại. Vui lòng kiểm tra kết nối mạng hoặc thử lại.",
"AID_ERROR_OK_BUTTON": "ĐỒNG Ý", "AID_ERROR_OK_BUTTON": "ĐỒNG Ý",
"Prize Symbol": "Biểu tượng giải thưởng", "Prize Symbol": "Biểu tượng giải thưởng",
"AID_ERROR_QUIT_BUTTON": "Thoát", "AID_ERROR_QUIT_BUTTON": "Thoát",
"AID_ERROR_RETRY_BUTTON": "Thử Lại", "AID_ERROR_RETRY_BUTTON": "Thử Lại",
"AID_ERROR_TITLE": "Giao Dịch Thất Bại", "AID_ERROR_TITLE": "Giao Dịch Thất Bại",
@ -1347,7 +1544,18 @@
"Reward claim records": "Lịch sử nhận thưởng", "Reward claim records": "Lịch sử nhận thưởng",
"Event": "Sự kiện", "Event": "Sự kiện",
"Claim": "Nhận thưởng", "Claim": "Nhận thưởng",
"Event Time": "Thời gian sự kiện" "Event Time": "Thời gian sự kiện",
"AID_VOLATILITY_BUTTON": "Xác nhận",
"AID_VOLATILITY_CONTENT_1_1": "Phổ thông",
"AID_VOLATILITY_CONTENT_1_2": "Phiêu lưu",
"AID_VOLATILITY_CONTENT_1_3": "Cao thủ",
"AID_VOLATILITY_CONTENT_2_1": "(Thấp)",
"AID_VOLATILITY_CONTENT_2_2": "(Trung bình)",
"AID_VOLATILITY_CONTENT_2_3": "(Cao)",
"AID_VOLATILITY_CONTENT_3_1": "Chiến thắng bất tận",
"AID_VOLATILITY_CONTENT_3_2": "Lối chơi kịch tính",
"AID_VOLATILITY_CONTENT_3_3": "Chiến thắng lớn",
"AID_VOLATILITY_TITLE": "Chế độ biến động"
}, },
"zh": { "zh": {
"AID_AUTO_BUTTON": "開始自動旋轉", "AID_AUTO_BUTTON": "開始自動旋轉",
@ -1376,7 +1584,7 @@
"AID_MAIN_SHOW_BALANCE": "餘額", "AID_MAIN_SHOW_BALANCE": "餘額",
"AID_MAIN_SHOW_BET": "投注", "AID_MAIN_SHOW_BET": "投注",
"AID_MAIN_SHOW_WIN": "贏得", "AID_MAIN_SHOW_WIN": "贏得",
"Prize Symbol": "獎金符號", "Prize Symbol": "獎金符號",
"AID_NETWORK_RETRY_1": "網路繁忙,正在重新嘗試...(第1次)", "AID_NETWORK_RETRY_1": "網路繁忙,正在重新嘗試...(第1次)",
"AID_NETWORK_RETRY_2": "網路繁忙,正在重新嘗試...(第2次)", "AID_NETWORK_RETRY_2": "網路繁忙,正在重新嘗試...(第2次)",
"AID_NETWORK_RETRY_3": "網路繁忙,正在重新嘗試...(第3次)", "AID_NETWORK_RETRY_3": "網路繁忙,正在重新嘗試...(第3次)",
@ -1418,6 +1626,17 @@
"Reward claim records": "領獎紀錄", "Reward claim records": "領獎紀錄",
"Event": "活動", "Event": "活動",
"Claim": "領取", "Claim": "領取",
"Event Time": "活動時間" "Event Time": "活動時間",
"AID_VOLATILITY_BUTTON": "確認",
"AID_VOLATILITY_CONTENT_1_1": "輕鬆模式",
"AID_VOLATILITY_CONTENT_1_2": "冒險模式",
"AID_VOLATILITY_CONTENT_1_3": "高能量模式",
"AID_VOLATILITY_CONTENT_2_1": "(低)",
"AID_VOLATILITY_CONTENT_2_2": "(中)",
"AID_VOLATILITY_CONTENT_2_3": "(高)",
"AID_VOLATILITY_CONTENT_3_1": "中獎不斷",
"AID_VOLATILITY_CONTENT_3_2": "有輸有贏",
"AID_VOLATILITY_CONTENT_3_3": "更多大獎",
"AID_VOLATILITY_TITLE": "波動模式"
} }
} }

View File

@ -3,8 +3,9 @@
import { path } from "cc" import { path } from "cc"
import { PREVIEW } from "cc/env" import { PREVIEW } from "cc/env"
import { GameDataManager } from "../managers/GameDataManager";
const gameId = "rp_11008_1"; const gameId = "rp_11008";
// let apiaddr = "https://rpgames-api.rpfafafahkdev.com"; // let apiaddr = "https://rpgames-api.rpfafafahkdev.com";
let apiaddr = ""; let apiaddr = "";
let token = "eyJQIjoxMDEzNzAsIkUiOjE3NjI4ODQxNjksIlMiOjEwMDIsIkQiOiJycF8xMDAxNyJ9.nb071g5rB617sJNMMhSKh7kXM0C0oTWSfPo90pejoc4"; let token = "eyJQIjoxMDEzNzAsIkUiOjE3NjI4ODQxNjksIlMiOjEwMDIsIkQiOiJycF8xMDAxNyJ9.nb071g5rB617sJNMMhSKh7kXM0C0oTWSfPo90pejoc4";
@ -97,8 +98,31 @@ AbortSignal.timeout ??= function timeout(ms) {
return ctrl.signal return ctrl.signal
} }
export async function callGamePendingApi(argsObj: any) {
const url = apiaddr + path.join("/gameapi/getgamepending")
const payload = JSON.stringify(argsObj)
const res = await fetch(url, {
signal: AbortSignal.timeout(10000),
headers: {
"Content-Type": "application/json",
"X-Rp-Token": token,
},
method: "POST",
body: payload,
mode: 'cors',
})
if (res.status != 200) {
const errstr = await res.text()
throw new Error(errstr || res.statusText)
}
const obj = await res.json()
return obj
}
export async function callGameApi(action: string, argsObj: any) { export async function callGameApi(action: string, argsObj: any) {
const url = apiaddr + path.join("/gameapi/", gameId, action) const url = apiaddr + path.join("/gameapi/", GameDataManager.instance.gamePending, action)
const payload = JSON.stringify(argsObj) const payload = JSON.stringify(argsObj)
const res = await fetch(url, { const res = await fetch(url, {

View File

@ -12,6 +12,7 @@ import {
import { import {
callGameApi, callGameApi,
callGameApiForRank, callGameApiForRank,
callGamePendingApi,
getGameId, getGameId,
getIsRB7, getIsRB7,
getLanguage, getLanguage,
@ -108,7 +109,7 @@ export class Loading extends Component {
private async initializeSystem() { private async initializeSystem() {
this.rb7Logo.active = getIsRB7(); this.rb7Logo.active = getIsRB7();
if (DEBUG) { if (DEBUG) {
await getTestToken("xingxi", "faketrans"); await getTestToken("yysky", "faketrans");
} }
} }
@ -128,6 +129,19 @@ export class Loading extends Component {
this.updateLoadingText("Loading"); this.updateLoadingText("Loading");
try { try {
let gamePending = await callGamePendingApi({ GameId: getGameId() });
if (gamePending.Data.length > 0) {
GameDataManager.instance.gamePending = gamePending.Data[0];
GameDataManager.instance.chooseDiff = +gamePending.Data[0].split('_')[2];
} else {
if (localStorage.getItem('HasGamePending') !== null) {
GameDataManager.instance.gamePending = String(getGameId()) + '_' + localStorage.getItem('HasGamePending');
GameDataManager.instance.chooseDiff = +localStorage.getItem('HasGamePending');
} else {
GameDataManager.instance.chooseDiff = 2;
GameDataManager.instance.gamePending = getGameId() + '_' + 2;
}
}
let gameInfo = await callGameApi("gameinfo", {}); let gameInfo = await callGameApi("gameinfo", {});
GameDataManager.instance.gameInfo = gameInfo; GameDataManager.instance.gameInfo = gameInfo;

View File

@ -1354,9 +1354,9 @@
"_dstBlendFactor": 4, "_dstBlendFactor": 4,
"_color": { "_color": {
"__type__": "cc.Color", "__type__": "cc.Color",
"r": 130, "r": 255,
"g": 214, "g": 246,
"b": 40, "b": 187,
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": {