138 lines
3.7 KiB
JavaScript
138 lines
3.7 KiB
JavaScript
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) {},
|
|
});
|