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} */ });