Files
2026-05-23 22:10:14 +08:00

148 lines
6.1 KiB
JavaScript

const BridgeWindow = require( "bridge.window" );
const ElitematchEvent = require( "elitematch_event" );
const FxTogs = require( "nx.fx.togs" );
cc.Class({
extends: BridgeWindow,
properties: {
nodTops: { default : null, type: cc.Node },
nodSeasons : { default: null, type : cc.Node },
},
// sender24911
/***
* [24911]:{"rank":0,"elite_lev":1,"score":0,"period":17,
* "arena_elite_rank":[
* {"rank":1,"rid":658,"srv_id":"fx_1","name":"Eelpanxyr","lev":150,"face":24406,"power":3397551,"score":1267,"elite_lev":4,"avatar_id":1000,"look_id":110405,"face_update_time":0,"face_file":""},
* {"rank":2,"rid":1359,"srv_id":"fx_1","name":"合久劍皇","lev":150,"face":26303,"power":523710,"score":1203,"elite_lev":3,"avatar_id":1000,"look_id":110405,"face_update_time":0,"face_file":""},
* {"rank":3,"rid":705,"srv_id":"fx_1","name":"Zolanttam","lev":150,"face":24406,"power":466739,"score":1152,"elite_lev":3,"avatar_id":1000,"look_id":130301,"face_update_time":0,"face_file":""},
* {"rank":4,"rid":1353,"srv_id":"fx_1","name":"魘魂夜話","lev":150,"face":26303,"power":3629,"score":1111,"elite_lev":3,"avatar_id":1000,"look_id":110405,"face_update_time":0,"face_file":""},
* {"rank":5,"rid":65,"srv_id":"fx_2","name":"一曲☆龍灬","lev":150,"face":26303,"power":9095,"score":1075,"elite_lev":2,"avatar_id":1000,"look_id":110405,"face_update_time":0,"face_file":""}
* ],"zone_id":1,"max_zone_id":1}
*/
onLoad: function(){
this.bindGEvent( ElitematchEvent.Elite_History_Record_Event, this.freshList.bind( this ) );
},
// 重载:参数打开
onOpenConfigs: function( _params ) {
this.cb = _params.cb;
this.period = _params.period;
this.mod = _params.mod;
let zfg = game.configs.arena_elite_data.data_zone;
this.zfg = zfg;
this.zone = _params.zone;
let all = [];
for (let z in zfg ) {
let zitem = zfg[z];
if( zitem.name != "未知" ){
all.push( zitem );
}
}
nx.gui.setString( this.nodSeasons, "bg/season", this.period - 1 == 0 ? nx.text.getKey( "PvpRankSeasonNone" ) : nx.text.format( "PvpRankSeason", this.period - 1 ) );
// nx.dt.fnInvoke( this.cb, true );
nx.gui.gocChildren( this.nodSeasons, "lst/view/content", all.length );
let chd = nx.gui.find( this.nodSeasons, "lst/view/content" ).children;
for ( let i = 0; i < all.length; i++ ) {
let nod = chd[i];
nod.zone = all[i].id ;
nx.gui.setActive( nod, "ico", all[i].id == this.zone );
nx.gui.setString( nod, "sj", nx.text.format( "PvpRankArean", all[i].name ) );
}
nx.gui.setActive( this.nodSeasons, "lst", false );
this.mod.sender24911( this.period - 1, 1, 6, this.zone );
// let zone = _btn.zone;
// let period = this.period - 1;
// let start = 1;
// let end = 6;
// this.mod.sender24911( period, start, end, zone );
},
freshList : function( _data ){
let info = _data.arena_elite_rank;
let cfg = game.configs.arena_elite_data.data_elite_level;
let lfg = game.configs.looks_data.data_data;
let chd = this.nodTops.children;
nx.gui.setString( this.nodSeasons, "bg/txt", nx.text.format( "PvpRankArean", this.zfg[_data.zone_id].name ) );
nx.gui.setActive( this.nodSeasons, "bg/ico", _data.zone_id == this.zone );
for (let i = 0; i < chd.length; i++) {
let nod = chd[i];
let bg = nx.gui.find( nod, "bg" );
let idd = i <= 3 ? i : 3;
nx.gui.setActive( bg, "rank" + ( idd + 1 ), true );
nx.gui.setString( nod, "rank/rank" + ( idd + 1 ) + "/txt", i + 1 );
nx.gui.setActive( nod, "rank/rank" + ( idd + 1 ), true );
let infoitem = info[i];
let namee = "";
let server = "";
let elite_levd = "";
let lookid = 0;
let power = 0;
let levv = 0
let cmp = nx.gui.getComponent( nod, "role", "nx.fx.spine" );
if( infoitem && infoitem.rank == i + 1 ){
namee = infoitem.name;
server = infoitem.srv_id;
elite_levd = cfg[infoitem.elite_lev].name ;
lookid = infoitem.look_id;
power = infoitem.power;
levv = infoitem.elite_lev;
if( cmp ){
let path = cc.path.join( "resDB/models", lfg[lookid].model, lfg[lookid].model ) ;
cmp.load( path, ( _e ) => {
if( !_e ) {
cmp.action( "stand2", true );
} else {
cmp.stop();
}
} );
}
}
let showstr = nx.dt.strNEmpty( namee ) ? nx.text.format( "PvpRankTopDesc", nx.dt.strNEmpty( server ) ? server.split( '_' )[1] :nx.text.format( "Srever", 1 ), namee ) : "" ;
nx.gui.setString( nod, "elite/lev", elite_levd );
nx.gui.setSpriteFrame( nod, "elite/bg", this.mod.dealUI( levv ) );
nx.gui.setActive( nod, "elite", levv != 0 );
nx.gui.setString( nod, "power/name", nx.text.getKey( "Power" ) + power );
nx.gui.setString( nod, "info/name", showstr );
nx.gui.setActive( nod, "info", nx.dt.strNEmpty( showstr ) );
nx.gui.setActive( nod, "power", power != 0 );
nx.gui.setActive( nod, "role", nx.dt.strNEmpty( showstr ) );
nx.gui.setActive( nod, "empty", nx.dt.strEmpty( showstr ) );
}
},
onTouchSeason: function( _btn ){
let zone = _btn.zone;
let period = this.period - 1;
let start = 1;
let end = 6;
this.mod.sender24911( period, start, end, zone );
this.onTouchShow();
},
onTouchShow : function(){
let nod = nx.gui.find( this.nodSeasons, "lst" );
// let show = !_show ? !nod.active : _show;
nx.gui.setActive( nod, "", !nod.active );
},
});