Files

138 lines
3.7 KiB
JavaScript
Raw Permalink Normal View History

2026-05-23 22:10:14 +08:00
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) {},
});