const CampfightConst = require( "campfight.const" ); const CampfightMod = require("campfight.mod"); const BridgeCmp = require("bridge.component"); const NxExpand = require("nx.fx.sv.expand"); const HeroController = require("hero_controller"); const HeroConst = require("hero_const"); const PartnerConst = require("partner_const"); const RCT = require("role_controller"); const TipsController = require("tips_controller"); cc.Class({ extends: BridgeCmp, properties: { list:{ default:null, type:NxExpand }, tipNd:{ default:null, type:cc.Node }, selfItem:{ default:null, type:cc.Node }, fabHead:{ default:null, type:cc.Prefab } }, // LIFE-CYCLE CALLBACKS: onLoad () { this._super(); this.mod = CampfightMod.getInstance(); this.bindGEvent(CampfightConst.EVT_CAMP_MONS_UI,this.freshList.bind(this)); }, freshList(data){ if(nx.dt.objEmpty(data)){ return; } this.list.rebuild(data.rank_list); let self_data = null; let selfRole = RCT.getInstance().getRoleVo(); for(let i in data.rank_list){ let rank = data.rank_list[i]; if(rank.rid == selfRole.rid && rank.srv_id == selfRole.srv_id){ self_data = rank; } } this.setSelfRank(self_data,selfRole,data.my_dps); }, onEnable(){ this.mod.reqMonsDmgRank(); let period = this.mod.getCurPeriod(); let key = CampfightConst.NameToPVE[period]; nx.gui.setString(this.tipNd,"",nx.text.getKey(key)); }, onDisable(){ this.list.rebuild([]); // 监听事件释放 this.unbindGEvents(); }, onDestroy(){ }, setSelfRank(data,role_vo,my_dps){ nx.gui.setString(this.selfItem,"name",role_vo.name); if(!this.myHead){ this.myHead = cc.instantiate(this.fabHead); let par = nx.gui.find(this.selfItem,"partner"); this.myHead.parent = par; } let cmp = nx.gui.getComponent(this.myHead,"","cmp.common.header"); if(cmp){ cmp.setData(role_vo); } if(data){ if(data.rank <= 3){ nx.gui.setActive(this.selfItem,String(data.rank),true); }else{ nx.gui.setActive(this.selfItem,"rank",true); nx.gui.setString(this.selfItem,"rank",data.rank); } nx.gui.setString(this.selfItem,"dmg/num",my_dps); }else{ nx.gui.setActive(this.selfItem,"rank",true); nx.gui.setString(this.selfItem,"rank",nx.text.getKey("Rank0")); nx.gui.setString(this.selfItem,"dmg/num","0"); } }, //商店 onClickShop(){ }, onClickHelp(){ let TC = TipsController.getInstance(); if( TC ) { let config = game.configs.arena_camp_data.data_const.monster_desc; TC.showTextPanel(null,config.desc ); } }, onClickBat(){ let sta = this.mod.getActStatus(); if(sta == 1){ this.mod.reqBatBoss(); }else{ nx.tbox("CampFitOneEnd"); } }, onClickForm(){ let sta = this.mod.getActStatus(); if(sta == 1){ HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.YearBoss, {period:this.mod.getCurPeriod(),need_hide_top:true}, HeroConst.FormShowType.eFormSave) }else{ nx.tbox("CampFitOneEnd"); } }, onClickRank(){ nx.bridge.createPanel("WndCampfightRank"); } // update (dt) {}, });