//#region 文件引入 import { _decorator, Button, Component, Label, Node, sp, Sprite,Animation, RichText, SpriteFrame } from "cc"; import BaseUIForm from "../../Mgr_UI/BaseUIForm"; import FrameLayout from "../../CComEx/FrameLayout"; import SceneDataMgr from "../../Mgr_LocalData/SceneDataMgr"; import StringUtils from "../../ExUtils/StringUtils"; import UIMgr from "../../Mgr_UI/UIMgr"; import { EUIForms } from "../../const/UIFormCnf"; import { Global } from "../../Global"; import { ESounds } from "../../MesEvent/ESounds"; import GDUtils from "../../ExCUtils/GDUtils"; import { EBundleName, EVideoType, FIGHTING_TYPE, GameTotalType, PropType } from "../../const/GameEnum"; //#endregion 文件引入 const {ccclass, property,menu} = _decorator; @ccclass("VictoryUI_Proxy") export default class VictoryUI_Proxy extends BaseUIForm{ //#region 节点自动生成 @property(Node) n_SuccNode: Node = null; @property(Button) btn_Continue: Button = null; //#endregion 节点自动生成 @property(FrameLayout) private mFrameLayout: FrameLayout; @property({type:[SpriteFrame],visible:true}) protected mBgs: SpriteFrame[] = []; private mReward: any[] = []; onButtonClick(button:Button){ /**点击事件触发*/ switch (button) { case this.btn_Continue: this.CloseUI();break; default: ConsoleEx.Log(button); break; } } protected CloseUI(btn?: Node): void { const reward = this.param; if(reward.fttype == FIGHTING_TYPE.PVE){ SceneDataMgr.Ins.onPassLevel(); UIMgr.Ins.ShowUI(EUIForms.VictoryStroyUI,{param:{bossname:reward.bossName,bossstory:reward.bossStory}}); }else if(reward.fttype == FIGHTING_TYPE.MUTATEBOSS){ SceneDataMgr.Ins.onMutateBossDone(true); const config = Global.CsvMgr.base_res_csv[PropType.eSLStone]; const text = GDUtils.GetHEXByQualityForStr(`${config.name}+${reward.sl}`, config.quality); UIMgr.Ins.ShowTipsUI("挑战成功 " + text); UIMgr.Ins.ShowTipsUI("获得铜钱 +" + reward.coin); } super.CloseUI(btn); } addEvent(): void { this.mFrameLayout.m_ItemRendererFuntion = this.ItemRender.bind(this) } ItemRender(idx:number,tNode:Node){ const bg: Sprite = tNode.getChildByName("bg").getComponent(Sprite); const icon: Sprite = tNode.getChildByName("icon").getComponent(Sprite); const name: Node = tNode.getChildByName("name"); const num: Node = tNode.getChildByName("num"); bg.spriteFrame = this.mReward[idx].bgicon; CNodeUtils.SwitchTexture(GDUtils.getUrl(this.mReward[idx].idata), icon, EBundleName.GeneralRes); CNodeUtils.switchTextByQuality(name, this.mReward[idx].name, this.mReward[idx].quality); CNodeUtils.switchText(num, this.mReward[idx].num); CNodeUtils.addBtnComponent(tNode,this.ItemClick.bind(this,idx),this); } ItemClick(idx:number){ ConsoleEx.Log("选择了",idx) } protected start(): void { Global.Audio.playEffect(ESounds.So_win); const reward = this.param; if(reward.fttype == FIGHTING_TYPE.PVE){ this.mReward = [ {idata:{type:GameTotalType.TOKEN, id:1, num: 0},num:StringUtils.GetFloat2ByString(Math.floor(reward.coin),true,""),name:"铜钱", quality:4, bgicon:this.mBgs[0]}, {idata:{type:GameTotalType.EXP, id:0, num: 0},num:StringUtils.GetFloat2ByString(Math.floor(reward.exp),true,""),name:"御剑经验", quality:5, bgicon:this.mBgs[1]} ]; // // 打boss胜利统计 // const data = { // ad_name: (this.mDataMgr.Scene.boss_ad_time? EVideoType.CritSoul : "无"), // adcnt: this.mDataMgr.Scene.boss_ad_time, // // duration: passtime, // enter_level_id: reward.levelid, // } // TDAnalyticsMgr.ins.TrySendtrack(GEData.GEeventName.level_pass, data); // GEAnalyticsMgr.ins.TrySendtrack(GEType.level_pass, reward.levelid); }else if(reward.fttype == FIGHTING_TYPE.MUTATEBOSS){ const config = Global.CsvMgr.base_res_csv[PropType.eSLStone]; this.mReward = [ {idata:{type:GameTotalType.TOKEN, id:1, num: 0},num:StringUtils.GetFloat2ByString(Math.floor(reward.coin),true,""),name:"铜钱", quality:4, bgicon:this.mBgs[0]}, {idata:{type:GameTotalType.TOKEN, id:config.id, num: 0},num:reward.sl, name:config.name, quality:config.quality, bgicon:this.mBgs[1]}, ]; } this.mFrameLayout.m_ItemCount = this.mReward.length; } }