const BridgeWindow = require("bridge.window"); const Mod = require( "pvprank.mod" ); cc.Class({ extends: BridgeWindow, properties: { nodTasks: { type: cc.Node, default: null } }, onLoad(){ this.mod = Mod.getInstance(); if( !this.mod ){ this.delayClose(); return; } this.rfg = game.configs.arena_elite_data.data_reward; let count = Object.keys( this.rfg ).length; nx.gui.gocChildren( this.nodTasks, "", count ); this.vbind( [ [ "PvpRankTask", this.freshTask.bind( this ) ] ] ); }, freshTask: function( _data ){ /**** {"win_num":0,"all_num":1,"list": [{"id":6,"award_status":0}, {"id":5,"award_status":0}, {"id":4,"award_status":0}, {"id":3,"award_status":0}, {"id":2,"award_status":0}, {"id":1,"award_status":1}]} */ // if( !_data ){ // return; // } let list = _data ? _data.list :[]; if( nx.dt.arrNEmpty( list ) ){ list.sort( Utils.tableLowerSorter([ "getstatus"] ) ); } let chd = this.nodTasks.children; for (let i = 0; i < chd.length; i++) { let nod = chd[i]; let info = {}; let cfgg = this.rfg[i+1]; if( nx.dt.arrNEmpty( list ) ){ info = list[i]; cfgg = this.rfg[info.id]; } let rcmp = nx.gui.getComponent( nod, "rewards", "cmp.common.itemlayout" ); if( rcmp ){ rcmp.rebuild( cfgg.reward ); } let leftprog = ""; if( _data ){ if( cfgg.type == 0 ){ if( _data.all_num < cfgg.num ){ leftprog = nx.text.format( "PvpRProgColorN", _data.all_num ); }else{ leftprog = nx.text.format( "PvpRProgColor", _data.all_num ); } }else{ if( _data.win_num < cfgg.num ){ leftprog = nx.text.format( "PvpRProgColorN", _data.win_num ); }else{ leftprog = nx.text.format( "PvpRProgColor", _data.win_num ); } } } nx.gui.setString( nod, "title/prog", nx.text.format( "PvpRProg", leftprog, cfgg.num ) ); nx.gui.setString( nod, "title/desc", cfgg.desc ); nx.gui.setActive( nod, "get", nx.dt.objNEmpty( info ) && info.award_status == 1 ); nx.gui.setActive( nod, "got", nx.dt.objNEmpty( info ) && info.award_status == 2 ); nx.gui.setActive( nod, "goto", nx.dt.objEmpty( info ) || info.award_status == 0 ); } // for (let i = 0; i < list.length; i++) { // let info = list[i]; // } }, onTouchGoto: function(){ this.close(); }, onTouchGet: function(){ this.mod.reqGetTaskAward(); }, });