历史记录详情显示
This commit is contained in:
parent
4e7fcae46c
commit
7dee3af062
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
import { _decorator, Button, Color, Component, EventHandler, instantiate, JsonAsset, Label, Layout, Node, ScrollView, sp, Sprite, SpriteAtlas, SpriteFrame, tween, UITransform, v3, Vec3 } from 'cc';
|
import { _decorator, Button, Color, Component, EventHandler, instantiate, JsonAsset, Label, Layout, Node, ScrollView, sp, Sprite, SpriteAtlas, SpriteFrame, tween, UITransform, v3, Vec3 } from 'cc';
|
||||||
import { ScrollControl } from './ScrollControl';
|
import { ScrollControl } from './ScrollControl';
|
||||||
import { fixNum, getTimezoneOffsetString, getTranslate, hideAllChildren, updateLang, waitNextFrame } from './Tools';
|
import { fixNum, getTimezoneOffsetString, getTranslate, hideAllChildren, ICON_RATE, updateLang, waitNextFrame } from './Tools';
|
||||||
let { ccclass, property } = _decorator;
|
let { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@ccclass('HistoryDetail')
|
@ccclass('HistoryDetail')
|
||||||
@ -346,7 +346,7 @@ export class HistoryDetail extends Component {
|
|||||||
|
|
||||||
// 加载一盘数据
|
// 加载一盘数据
|
||||||
loadOne(item: Node, pan, idx, formattedData) {
|
loadOne(item: Node, pan, idx, formattedData) {
|
||||||
let winInfo = pan.WinInfo;
|
let winInfo = pan.SymbolWinInfos;
|
||||||
item.position = new Vec3()
|
item.position = new Vec3()
|
||||||
this.list_detail.content.addChild(item)
|
this.list_detail.content.addChild(item)
|
||||||
|
|
||||||
@ -399,18 +399,15 @@ export class HistoryDetail extends Component {
|
|||||||
roller_wins.removeAllChildren();
|
roller_wins.removeAllChildren();
|
||||||
|
|
||||||
let upIconIndexs = [];
|
let upIconIndexs = [];
|
||||||
if (winInfo != null) {
|
if (winInfo[0] != null) {
|
||||||
if (winInfo.Desc != null) {
|
// 对{}进行遍历
|
||||||
let desc = winInfo.Desc;
|
roller_gray.active = true;
|
||||||
// 对{}进行遍历
|
for (let key in winInfo) {
|
||||||
roller_gray.active = true;
|
let middle = winInfo[key];
|
||||||
for (let key in desc) {
|
upIconIndexs.push(...middle.BottomPos);
|
||||||
let middle = desc[key];
|
|
||||||
upIconIndexs.push(...middle.Middle);
|
|
||||||
}
|
|
||||||
// 去重
|
|
||||||
upIconIndexs = upIconIndexs.filter((value, index, self) => self.indexOf(value) === index);
|
|
||||||
}
|
}
|
||||||
|
// 去重
|
||||||
|
upIconIndexs = upIconIndexs.filter((value, index, self) => self.indexOf(value) === index);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let index = 0; index < pan.PanColor.Bottom.length; index++) {
|
for (let index = 0; index < pan.PanColor.Bottom.length; index++) {
|
||||||
@ -479,7 +476,7 @@ export class HistoryDetail extends Component {
|
|||||||
|
|
||||||
// No Winning Combination
|
// No Winning Combination
|
||||||
let node_no_winning = content.getChildByName("node_no_winning")
|
let node_no_winning = content.getChildByName("node_no_winning")
|
||||||
node_no_winning.active = pan.WinInfo == null;
|
node_no_winning.active = winInfo[0] == null;
|
||||||
|
|
||||||
//
|
//
|
||||||
let node_feature_buy = content.getChildByName("node_feature_buy")
|
let node_feature_buy = content.getChildByName("node_feature_buy")
|
||||||
@ -494,20 +491,20 @@ export class HistoryDetail extends Component {
|
|||||||
node_win_multiplier_1.active = false;
|
node_win_multiplier_1.active = false;
|
||||||
|
|
||||||
if (winInfo != null) {
|
if (winInfo != null) {
|
||||||
if (winInfo.MulDesc != null) {
|
if (pan.RoundInfo.Mul > 1) {
|
||||||
let mulDesc = winInfo.MulDesc;
|
// let mulDesc = winInfo.MulDesc;
|
||||||
let txt_win_multiplier = node_win_multiplier.getChildByName("txt_win_multiplier")
|
let txt_win_multiplier = node_win_multiplier.getChildByName("txt_win_multiplier")
|
||||||
txt_win_multiplier.getComponent(Label).string = getTranslate(this.dict, "Win Multiplier") + " x " + mulDesc.Mul;
|
txt_win_multiplier.getComponent(Label).string = getTranslate(this.dict, "Win Multiplier") + " x " + pan.RoundInfo.Mul;
|
||||||
node_win_multiplier.active = true;
|
node_win_multiplier.active = true;
|
||||||
|
|
||||||
let txt_win_multiplier_1 = node_win_multiplier_1.getChildByName("txt_win_multiplier_1");
|
let txt_win_multiplier_1 = node_win_multiplier_1.getChildByName("txt_win_multiplier_1");
|
||||||
txt_win_multiplier_1.getComponent(Label).string = getTranslate(this.dict, "Win Multiplier");
|
txt_win_multiplier_1.getComponent(Label).string = getTranslate(this.dict, "Win Multiplier");
|
||||||
|
|
||||||
let mulited = node_win_multiplier_1.getChildByName("mulited");
|
let mulited = node_win_multiplier_1.getChildByName("mulited");
|
||||||
mulited.getComponent(Label).string = `${currencySymbol} ${fixNum(mulDesc.Multied)}` + '';
|
mulited.getComponent(Label).string = `${currencySymbol} ${fixNum(pan.RoundInfo.Score)}` + '';
|
||||||
|
|
||||||
let unmulited = node_win_multiplier_1.getChildByName("unmulited");
|
let unmulited = node_win_multiplier_1.getChildByName("unmulited");
|
||||||
unmulited.getComponent(Label).string = `${currencySymbol} ${fixNum(mulDesc.UnMultied)} x ${mulDesc.Mul}`;
|
unmulited.getComponent(Label).string = `${currencySymbol} ${fixNum(pan.RoundInfo.AllScoreMul)} x ${pan.RoundInfo.Mul}`;
|
||||||
|
|
||||||
node_win_multiplier_1.active = true;
|
node_win_multiplier_1.active = true;
|
||||||
}
|
}
|
||||||
@ -543,68 +540,85 @@ export class HistoryDetail extends Component {
|
|||||||
// let item_kind = instantiate(this.item_win_kind);
|
// let item_kind = instantiate(this.item_win_kind);
|
||||||
|
|
||||||
|
|
||||||
if (winInfo != null) {
|
if (winInfo[0] != null) {
|
||||||
if (winInfo.Desc != null) {
|
let node_formula = content.getChildByName('node_formula');
|
||||||
let node_formula = content.getChildByName('node_formula');
|
|
||||||
|
|
||||||
let desc = winInfo.Desc;
|
for (let key in winInfo) {
|
||||||
for (let key in desc) {
|
let symbolWinInfo = winInfo[key];
|
||||||
let symbolWinInfo = desc[key];
|
let hitColor = this.ICON_SERVER_MAP[pan.PanColor.Bottom[symbolWinInfo.BottomPos[0]]]
|
||||||
let item_win_kind = instantiate(this.item_win_kind)
|
let item_win_kind = instantiate(this.item_win_kind)
|
||||||
item_win_kind.name = `item_win_kind_${key}`;
|
item_win_kind.name = `item_win_kind_${hitColor}`;
|
||||||
|
|
||||||
let sp = item_win_kind.getChildByName("sp").getComponent(Sprite);
|
let bg = item_win_kind.getChildByName("bg").getComponent(Sprite);
|
||||||
let path_symbol = `${this.ICON_SERVER_MAP[key]}`;
|
let sp = item_win_kind.getChildByPath("bg/sp").getComponent(Sprite);
|
||||||
sp.spriteFrame = this.symbolsAtlas.getSpriteFrame(path_symbol);
|
let path_symbol = `${hitColor}`;
|
||||||
|
bg.spriteFrame = this.bgAtlas.getSpriteFrame(path_symbol);
|
||||||
|
sp.spriteFrame = this.symbolsAtlas.getSpriteFrame(path_symbol);
|
||||||
|
|
||||||
let txt_kind = item_win_kind.getChildByName("txt_kind").getComponent(Label);
|
let txt_kind = item_win_kind.getChildByName("txt_kind").getComponent(Label);
|
||||||
txt_kind.string = 'x' + symbolWinInfo.Middle.length;
|
txt_kind.string = 'x' + symbolWinInfo.BottomPos.length;
|
||||||
|
|
||||||
let txt_win = item_win_kind.getChildByName("txt_win").getComponent(Label)
|
let txt_win = item_win_kind.getChildByName("txt_win").getComponent(Label)
|
||||||
txt_win.string = `${currencySymbol}${fixNum(symbolWinInfo.Score)}`
|
txt_win.string = `${currencySymbol}${fixNum(symbolWinInfo.Score)}`
|
||||||
|
|
||||||
let formula_detail = item_win_kind.getChildByName("formula_detail");
|
let formula_detail = item_win_kind.getChildByName("formula_detail");
|
||||||
|
|
||||||
let Label_Formual = formula_detail.getChildByName("Label_Formual").getComponent(Label)
|
let Label_Formual = formula_detail.getChildByName("Label_Formual").getComponent(Label)
|
||||||
Label_Formual.string = getTranslate(this.dict, "BxS")
|
Label_Formual.string = getTranslate(this.dict, "BxS")
|
||||||
|
|
||||||
let txt_formual_detail = formula_detail.getChildByName("txt_formual_detail").getComponent(Label)
|
let txt_formual_detail = formula_detail.getChildByName("txt_formual_detail").getComponent(Label)
|
||||||
txt_formual_detail.string = symbolWinInfo.Formula || 'No Data !!';
|
txt_formual_detail.string = fixNum(pan.Bet) + ' x ' + this.getWinSymbolMulti(pan.PanColor.Bottom, symbolWinInfo.BottomPos).toFixed(2);
|
||||||
formula_detail.active = false;
|
formula_detail.active = false;
|
||||||
|
|
||||||
item_win_kind.position = new Vec3()
|
item_win_kind.position = new Vec3()
|
||||||
|
|
||||||
item_win_kind.active = true;
|
item_win_kind.active = true;
|
||||||
node_formula.addChild(item_win_kind);
|
node_formula.addChild(item_win_kind);
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
// 每一条 item_win_kind 可以点开 自己的 formula_detail
|
|
||||||
// 要求列表前面的item_win_kind弹出来formula_detail ,盖住后面的 item_win_kind
|
|
||||||
// 但 addChild的顺序决定后 后面会盖住前面,所以这里要反转一下
|
|
||||||
// 而且一定要关掉 Layout ,因为它会把 SiblingIndex最小的放到最上面
|
|
||||||
let lyt = node_formula.getComponent(Layout)
|
|
||||||
lyt.updateLayout()
|
|
||||||
lyt.enabled = false
|
|
||||||
|
|
||||||
let children = node_formula.children.slice().reverse();
|
|
||||||
children.forEach((child, i) => {
|
|
||||||
child.active = true
|
|
||||||
child.setSiblingIndex(i);
|
|
||||||
});
|
|
||||||
|
|
||||||
let contentlyt = content.getComponent(Layout)
|
|
||||||
contentlyt.updateLayout()
|
|
||||||
contentlyt.enabled = false
|
|
||||||
// 多给一截滑动空间
|
|
||||||
content.getComponent(UITransform).height = content.getComponent(UITransform).height + 200
|
|
||||||
}
|
}
|
||||||
|
// 每一条 item_win_kind 可以点开 自己的 formula_detail
|
||||||
|
// 要求列表前面的item_win_kind弹出来formula_detail ,盖住后面的 item_win_kind
|
||||||
|
// 但 addChild的顺序决定后 后面会盖住前面,所以这里要反转一下
|
||||||
|
// 而且一定要关掉 Layout ,因为它会把 SiblingIndex最小的放到最上面
|
||||||
|
let lyt = node_formula.getComponent(Layout)
|
||||||
|
lyt.updateLayout()
|
||||||
|
lyt.enabled = false
|
||||||
|
|
||||||
|
let children = node_formula.children.slice().reverse();
|
||||||
|
children.forEach((child, i) => {
|
||||||
|
child.active = true
|
||||||
|
child.setSiblingIndex(i);
|
||||||
|
});
|
||||||
|
|
||||||
|
let contentlyt = content.getComponent(Layout)
|
||||||
|
contentlyt.updateLayout()
|
||||||
|
contentlyt.enabled = false
|
||||||
|
// 多给一截滑动空间
|
||||||
|
content.getComponent(UITransform).height = content.getComponent(UITransform).height + 200
|
||||||
}
|
}
|
||||||
|
|
||||||
hideAllChildren(item)
|
hideAllChildren(item)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getWinSymbolMulti(panColor, BottomPos: any[]) {
|
||||||
|
|
||||||
|
let hitColor: number = this.ICON_SERVER_MAP[panColor[BottomPos[0]]]
|
||||||
|
let winLevel: number = 0
|
||||||
|
if (BottomPos.length <= 9) {
|
||||||
|
winLevel = 0
|
||||||
|
} else if (BottomPos.length <= 11) {
|
||||||
|
winLevel = 1
|
||||||
|
|
||||||
|
} else {
|
||||||
|
winLevel = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return ICON_RATE[hitColor][winLevel]
|
||||||
|
}
|
||||||
|
|
||||||
async loadDetailList() {
|
async loadDetailList() {
|
||||||
|
|
||||||
// 时间
|
// 时间
|
||||||
|
|||||||
@ -36,6 +36,19 @@ interface LangTxt {
|
|||||||
richTexts: RichText[]; // RichText 组件数组
|
richTexts: RichText[]; // RichText 组件数组
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export let ICON_RATE: number[][] = [
|
||||||
|
[0, 0, 0], // scatter
|
||||||
|
[10, 25, 50], // 神灯
|
||||||
|
[2.5, 10, 25], // 魔毯
|
||||||
|
[2, 5, 15], // 刀
|
||||||
|
[1.5, 2, 12], // 戒指
|
||||||
|
[1, 1.5, 10], // 项链
|
||||||
|
[0.8, 1.2, 8], // 瓶子
|
||||||
|
[0.5, 1, 5], // 金币
|
||||||
|
[0.4, 0.9, 4], // 银币
|
||||||
|
[0.2, 0.75, 2], // 铜币
|
||||||
|
]
|
||||||
|
|
||||||
export function fixNum(num: number): string {
|
export function fixNum(num: number): string {
|
||||||
return (num / 10000).toFixed(2)
|
return (num / 10000).toFixed(2)
|
||||||
}
|
}
|
||||||
@ -118,7 +131,7 @@ export function getTimezoneOffsetString(): string {
|
|||||||
return `(GMT${sign}${hours}:${minutes})`;
|
return `(GMT${sign}${hours}:${minutes})`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function updateLang(node: Node, dict, lang:string) {
|
export function updateLang(node: Node, dict, lang: string) {
|
||||||
|
|
||||||
let langText: LangTxt = { labels: [], richTexts: [] }
|
let langText: LangTxt = { labels: [], richTexts: [] }
|
||||||
getLabelsAndRichTexts(node, langText)
|
getLabelsAndRichTexts(node, langText)
|
||||||
@ -148,7 +161,7 @@ export function updateLang(node: Node, dict, lang:string) {
|
|||||||
|
|
||||||
const staticTxt = richText.node.getComponent(StaticTxt)
|
const staticTxt = richText.node.getComponent(StaticTxt)
|
||||||
richText.maxWidth = staticTxt.maxWidth
|
richText.maxWidth = staticTxt.maxWidth
|
||||||
richText.string = wrapRichTextBySpace(richText, staticTxt.key, dict,lang)
|
richText.string = wrapRichTextBySpace(richText, staticTxt.key, dict, lang)
|
||||||
})
|
})
|
||||||
|
|
||||||
return langText
|
return langText
|
||||||
@ -219,7 +232,7 @@ export function wrapRichTextBySpace(richText: RichText, key: string, dict, lang)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
// 非婆罗米系文字,引擎自动换行就能处理好
|
// 非婆罗米系文字,引擎自动换行就能处理好
|
||||||
// 不需要手动计算
|
// 不需要手动计算
|
||||||
wrapResult.result += part.value
|
wrapResult.result += part.value
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user