Files
fc/dev/project/assets/Scripts/mod/pve/adventure/cmp/cmp.adventure.endlesshero.js
T
2026-05-23 22:10:14 +08:00

115 lines
2.8 KiB
JavaScript

const BridgeWindow = require( "bridge.window" );
const ADVCT = require("adventure_controller");
const ADEVT = require("adventure_event");
const NxExpand = require("nx.fx.sv.expand");
cc.Class({
extends: BridgeWindow,
properties: {
hero_list:{
default:null,
type:NxExpand
},
timesNd:{
default:null,
type:cc.Node
}
},
// LIFE-CYCLE CALLBACKS:
onLoad () {
this.ctrl = ADVCT.getInstance();
this.plist = [];
this.bindGEvent(ADEVT.UpModel_Up_Cfg,this.updateHeros.bind(this));
},
updateHeros(data){
this.CancelFormPlist();
this.refresh_times = data.times;
let partner_list = data.plist;
nx.gui.setString(this.timesNd,"",cc.js.formatStr(nx.text.getKey("AdvenRefreTime"),this.refresh_times));
let list = [];
for(let i in partner_list){
let bid = partner_list[i];
let cfg = game.configs.partner_data.data_partner_base[bid.bid];
if(cfg && cfg.bustid){
list.push(cfg);
}
}
this.hero_list.rebuild(list);
},
pushHeroList(bid){
//五选一
if(this.plist.length > 0)return;
this.plist.push({id:bid});
},
start () {
},
clickRefreshNewHeros(){
if(this.refresh_times > 0){
this.ctrl.send29509(this.ctrl.getPlayModel());
}else{
nx.tbox("AdvenNoTimes");
}
},
onOpenConfigs(params) {
this.ctrl.setIsOpenEndlessHero(true);
let partner_list = params.partners;
this.refresh_times = params.times;
nx.gui.setString(this.timesNd,"",cc.js.formatStr(nx.text.getKey("AdvenRefreTime"),this.refresh_times));
let list = [];
for(let i in partner_list){
let bid = partner_list[i];
let cfg = game.configs.partner_data.data_partner_base[bid.bid];
if(cfg && cfg.bustid){
list.push(cfg);
}
}
this.hero_list.rebuild(list);
},
onPreClosed() {
this.hero_list.rebuild([]);
this.ctrl.setIsOpenEndlessHero(false);
},
ClickSendForm(){
if(nx.dt.arrEmpty(this.plist)){
return nx.tbox("adv_main_str22");
}
this.ctrl.send29505(1,this.plist);
this.close();
},
CancelFormPlist(){
this.plist = [];
this.hero_list.cleanFocus();
},
onfocusHero(_item){
if(!_item)return;
this.CancelFormPlist();
this.hero_list.addFocus(_item.index);
if(_item.mdata.bid){
this.pushHeroList(_item.mdata.bid);
}
},
backMenu(){
this.close();
nx.bridge.closePanel("WndAdventureMain");
}
// update (dt) {},
});