Files

183 lines
7.2 KiB
JavaScript
Raw Permalink Normal View History

2026-05-23 22:10:14 +08:00
const BridgeWindow = require("bridge.window");
const ElitematchEvent = require( "elitematch_event" );
const HeroController = require("hero_controller");
const FxTogs = require( "nx.fx.togs" );
cc.Class({
extends: BridgeWindow,
properties: {
nodToggle : { default: null, type : FxTogs },
nodInfo: { default: null, type : cc.Node },
nodSeasons : { default: null, type : cc.Node },
},
onLoad: function () {
nx.gui.hideAllChildren( this.nodInfo );
this.bindGEvent( ElitematchEvent.Elite_Personal_Info_Event, this.freshPersonalInfo.bind(this) );
// this.bindGEvent( ArenaEvent.UpdateLoopChallengeTimesList, this.freshSelf.bind(this) );
// this.bindGEvent( ArenaEvent.UpdateLoopChallengeTimesList, this.showNode.bind(this));
// this.bindGEvent( ArenaEvent.UpdateArena_Number, this.updateRankListInfo.bind(this));
},
// 重载:参数打开
onOpenConfigs: function( _params ) {
this.period = _params.period;
this.cfg = _params.cfg;
this.arean = _params.arean;
this.mod = _params.mod;
nx.gui.gocChildren( this.nodSeasons, "lst/view/content", this.period );
let chd = nx.gui.find( this.nodSeasons, "lst/view/content" ).children;
for ( let i = chd.length; i > 0; i-- ) {
let nod = chd[i-1];
nod.season = i ;
nx.gui.setString( nod, "sj", nx.text.format( "PvpRMatchInfoDesc", ( i ) ) );
}
this.nodToggle.posTog = this.onTogMenu.bind( this );
this.nodToggle.togTo( 0 );
this.onTogMenu( 0 );
},
// 重载:关闭前
onPreClosed: function () {
},
freshChallengeLog: function( _cdata ){
let records = _cdata.arena_elite_log;
this.nodRecords.rebuild( records );
nx.gui.setActive( this.nodEmpty, "", nx.dt.arrEmpty( records ) );
},
onTogMenu : function( _idx ){
let type = _idx == 0 ? _idx : this.period;
let AC = this.mod;
if( AC ){
AC.sender24940( type );
}
},
freshPersonalInfo: function( _info ){
nx.gui.hideAllChildren( this.nodInfo );
if( !_info ){
return;
}
let personalinfo = _info;
let nodp = nx.gui.find( this.nodInfo, personalinfo.period == 0 ? "self" : "total" );
let pnode = nx.gui.find( nodp, "self/mvp" );
let part = nx.gui.getComponent( pnode, "partner", "cmp.partner.com" );
let hero = HeroController.getInstance().getModel().getTopLevHeroInfoByBid( personalinfo.best_mvp );
if( part ){
part.setData( hero );
}
let rate = personalinfo.combat_win_count1 == 0 ? 0 : parseInt( personalinfo.combat_win_count1 * 100 / personalinfo.combat_all_count1 );
let krate = personalinfo.combat_all_count2 == 0 ? 0 : parseInt( personalinfo.combat_win_count2 * 100 / personalinfo.combat_all_count2 );
// let showTxt =
nx.gui.setString( nodp, "first/nowlev", nx.text.format( "PvpRankNowLev", this.cfg[personalinfo.my_elite_lev].name) );
nx.gui.setString( nodp, "first/nowscore", nx.text.format( "PvpRankNowScore", personalinfo.my_score) );
nx.gui.setString( nodp, "first/nowwin1", nx.text.format( "PvpRankWinCount", personalinfo.combat_win_count1) );
nx.gui.setString( nodp, "second/maxlev", nx.text.format( "PvpRankLevHistory", this.cfg[personalinfo.max_lev].name) );
nx.gui.setString( nodp, "second/maxscore", nx.text.format( "PvpRankScoreHistory", personalinfo.max_score) );
nx.gui.setString( nodp, "second/winraten", nx.text.format( "PvpRankWinRate", rate ) );
nx.gui.setString( nodp, "third/arean", nx.text.format( "PvpRankWinArean", this.arean[personalinfo.log_zone_id] ? this.arean[personalinfo.log_zone_id].name : "" ) );
nx.gui.setString( nodp, "third/rank", nx.text.format( "PvpRankNowRank", personalinfo.log_rank) );
nx.gui.setString( nodp, "third/kingwin", nx.text.format( "PvpRankKingCount", personalinfo.combat_win_count2) );
nx.gui.setString( nodp, "fourth/maxharm", nx.text.format( "PvpRankMaxHarm", personalinfo.max_dps) );
nx.gui.setString( nodp, "fourth/maxwins", nx.text.format( "PvpRankMaxWinn", personalinfo.winning_streak) );
nx.gui.setString( nodp, "fourth/kingrate", nx.text.format( "PvpRankKingWinRate", krate) );
let defensenod = nx.gui.find( nodp, "self/maxdefense" );
let head = nx.gui.getComponent( defensenod, "head", "cmp.common.header" );
let form = nx.gui.find( nodp, "self/maxdefense/form" );
let mydata = {
face : personalinfo.face,
}
if( head ){
head.setData( mydata );
}
//PvpRankStrongDefense
let server = nx.dt.strNEmpty( personalinfo.srv_id ) ? personalinfo.srv_id.split( "_" ) : "";
let ddesc = "[" + nx.text.format( "Srever", server[1] ) + "]" + "\t\t" + personalinfo.name + "\t\t" + nx.text.format( "GuildLevel", personalinfo.lev ) ;
let desc = nx.text.format( "PvpRankStrongDefense", ddesc );
desc = nx.dt.strNEmpty( personalinfo.srv_id ) ? desc : nx.text.format( "PvpRankStrongDefense", nx.text.getKey( "BagEmpty" ) );
nx.gui.setString( nodp, "self/maxdefense/desc", desc );
if( nx.dt.arrNEmpty( personalinfo.power ) ){
nx.gui.gocChildren( form, "", personalinfo.power.length );
let chd = form.children;
for (let i = 0; i < chd.length; i++) {
let nod = chd[i];
let power = personalinfo.power[i];
nx.gui.setString( nod, "team", nx.text.format( "PvpRDenfenseT", i + 1 ) );
nx.gui.setString( nod, "power", power.power );
}
}
nx.gui.setActive( nodp, "self/maxdefense/head", nx.dt.strNEmpty( personalinfo.srv_id ) );
nx.gui.setActive( nodp, "self/maxdefense/form", nx.dt.strNEmpty( personalinfo.srv_id ) );
nx.gui.setActive( nodp, "self/mvp/partner", personalinfo.best_mvp > 0 );
nx.gui.setActive( nodp, "choice/lst", false );
nx.gui.setString( nodp, "choice/bg/txt", nx.text.format( "PvpRMatchInfoDesc", personalinfo.period ) );
nx.gui.setActive( nodp, "", true );
},
onTouchSeason: function( _btn ){
let season = _btn.season;
this.mod.sender24940( season );
this.onTouchShow( false );
},
onTouchShow : function( _show ){
let show = !_show ? true : _show
let nodp = nx.gui.find( this.nodInfo, "total" );
nx.gui.setActive( nodp, "choice/lst", show );
},
/****
* [19:38:38:265][recv] <<<[24940]:{"best_mvp":10503,
* "my_score":1136,"my_elite_lev":3,"period":16,
* "max_lev":3,"max_score":1203,"combat_win_count1":11,
* "combat_all_count1":18,"combat_win_count2":0,
* "combat_all_count2":0,"max_dps":726663,"winning_streak":7,
* "rid":1876,"srv_id":"fx_1",
* "name":"滅世風華","lev":90,"sex":0,"g_rid":41,"g_srv_id":"fx_1","gname":"阿斯顿发送到",
* "power":[{"order":1,"power":311773}],
* "face":26303,"score":2000,"elite_lev":1,"avatar_id":0,"face_update_time":0,"face_file":"","log_zone_id":1,"log_rank":2,"use_skin":0}
*/
});