//#region 文件引入 import { _decorator, Button, Component, Label, Node, sp, Sprite,Animation, RichText } from "cc"; import BaseUIForm from "../../Mgr_UI/BaseUIForm"; import FrameScrollView from "../../CComEx/FrameScrollView"; import { Global } from "../../Global"; import StringUtils from "../../ExUtils/StringUtils"; import { GameTotalType } from "../../const/GameEnum"; import { IData } from "../../const/GameInterface"; //#endregion 文件引入 const {ccclass, property,menu} = _decorator; @ccclass("TreasureDetailUI_Proxy") export default class TreasureDetailUI_Proxy extends BaseUIForm{ //#region 节点自动生成 @property(Node) n_treaslist: Node = null; //#endregion 节点自动生成 @property(FrameScrollView) protected mScrollViewFrame: FrameScrollView; onButtonClick(button:Button){ /**点击事件触发*/ switch (button) { default: ConsoleEx.Log(button); break; } } addEvent(): void { this.mScrollViewFrame.m_ItemRendererFuntion = this.ItemRenderer.bind(this) } protected start(): void { this.refreshTreasureList(); this.reflashScrollView(); } refreshTreasureList() { for(let i = 0; i < Global.CsvMgr.Props_array_csv.length; i++){ let cfg = Global.CsvMgr.Props_array_csv[i]; let item = this.n_treaslist.children[i]; let name = item.getChildByName("name"); let lightbg = item.getChildByName("lightbg"); CNodeUtils.switchText(name, cfg.name); if(this.mDataMgr.Treasure.getTreasureById(cfg.id)){ CNodeUtils.setActive(lightbg, true); }else{ CNodeUtils.setActive(lightbg, false); } const icon: Node = item.getChildByName("icon"); const iData:IData = { type: GameTotalType.TREAS, id: cfg.id, num:0, } CNodeUtils.SwitchTextureByData(icon, iData); } } //#region 拥有的目标功法类型 列表 ItemRenderer(idx:number,tNode:Node){ const item = this.mDataMgr.Treasure.getTreasures()[idx]; const itemdata = this.mDataMgr.Treasure.getTreasureById(item.id); const name: Node = tNode.getChildByName("name"); const display: Node = tNode.getChildByName("display"); CNodeUtils.switchText(name, itemdata.config.name); const displaytxt = itemdata.config.prop2 === 0? StringUtils.format(itemdata.config.display, itemdata.prop1):StringUtils.format(itemdata.config.display, itemdata.prop1, itemdata.prop2) CNodeUtils.switchText(display, displaytxt); } private reflashScrollView(){ this.mScrollViewFrame.m_ItemCount = this.mDataMgr.Treasure.getTreasures().length; } //#endregion }