//********************* // create by 流云 // time: Mon Nov 03 2025 // desc: //********************* import { _decorator, Component, Node, find, Label, instantiate } from 'cc'; import { Auto_boxLevelupDetail } from './Auto_boxLevelupDetail'; import { IBoxLevelData, TableNames } from '../../game/ConfigTableData'; import { SpriteLoad } from 'db://assets/mx/components/SpriteLoad'; import { GBundle } from '../../game/ConfigRes'; const { ccclass, property } = _decorator; @ccclass('UIboxLevelupDetail') export class UIboxLevelupDetail extends Auto_boxLevelupDetail { curChooseIndex = 0 onLoad(): void { super.onLoad(); } onEnable(): void { super.onEnable(); } onDisable(): void { super.onDisable(); } onInit(): void { // let curBoxLevel = gg.data.getCurBoxLevel(); this.showOpenMaskEff(2) //更新视图 this.curChooseIndex = curBoxLevel this.updataView(this.curChooseIndex) } updataView(curBoxLevel) { this.lb_boxLevel.string = curBoxLevel.toString(); //拿出配置 let boxTabList = gg.data.table.getTableList(TableNames.Box).filter(x => x.type == 1); let boxLevelData = boxTabList.find(x => x.level == curBoxLevel); let fragment = boxLevelData.fragment; let boxTabList2 = gg.data.table.getTableList(TableNames.Box).filter(x => x.type == 2); let boxLevelData2 = boxTabList2.find(x => x.level == curBoxLevel); let fragment2 = boxLevelData2.fragment; let fragmentList = fragment.split(':') let fragmentList2 = fragment2.split(':') this.showLay(this.ui_lay1, fragmentList) this.showLay(this.ui_lay2, fragmentList2) } showLay(ui_lay, fragmentList) { ui_lay.active = true for (let i = 0; i < ui_lay.children.length; i++) { ui_lay.children[i].active = false } for (let i = 0; i < fragmentList.length; i++) { let str = fragmentList[i]; let n: Node = null; if (i < ui_lay.children.length) { n = ui_lay.children[i] } else { n = instantiate(this.ui_itemNode); ui_lay.addChild(n); } n.active = true; let [id, num] = str.split(','); let labNum = n.getChildByName('labNum')?.getComponent(Label) let spNode = n.getChildByName('icon'); labNum.string = num; let itemdata = gg.data.table.getItemData(Number(id)); let sName = "橙色"; if (itemdata.quality == 1) sName = "绿色"; if (itemdata.quality == 2) sName = "蓝色"; if (itemdata.quality == 3) sName = "紫色"; if (itemdata.quality == 4) sName = "橙色"; spNode.getComponent(SpriteLoad).setSprite("texture/" + sName + "?", GBundle.Shop); } // ui_lay.children.forEach((item, index) => { // item.active = index < fragmentList.length // if (item.active) { // let [id, num] = fragmentList[index].split(','); // let labNum = item.getChildByName('labNum')?.getComponent(Label) // labNum.string = num // } // }) } click_bgMask() { gg.audio.playEffect({ name: "点击音效" }); //点击背景关闭 this.close() } click_leftBtn() { gg.audio.playEffect({ name: "点击音效" }); //点击左箭头返回 //当前等级-- if (this.curChooseIndex <= 1) { return } this.curChooseIndex-- if (this.curChooseIndex <= 1) { this.leftBtn.active = false this.rightBtn.active = true } else { this.leftBtn.active = true } this.updataView(this.curChooseIndex) } click_rightBtn() { gg.audio.playEffect({ name: "点击音效" }); //点击右箭头升级 //当前等级++ if (this.curChooseIndex >= 20) { return } this.curChooseIndex++ if (this.curChooseIndex >= 20) { this.rightBtn.active = false this.leftBtn.active = true } else { this.leftBtn.active = true } this.updataView(this.curChooseIndex) } }