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 ); }, });