const NxSpine = require( "nx.fx.spine" ); const ItemBase = require( "cmp.item.base" ); const SVCItem = require( "nx.fx.sv.expand.item" ); const TipsController = require("tips_controller"); const BackPackConst = require( "backpack_const" ); const Header = require( "cmp.common.header" ); const BIT = BackPackConst.item_type; const ArenaController = require( "arena_controller" ); const PVPMod = require( "pvp.mod" ); const HeroController = require( "hero_controller" ); cc.Class( { extends: SVCItem, properties: { nodHead: { default: null, type: Header }, nodLev: { default: null, type: cc.Node }, nodDesc: { default: null, type: cc.Node }, nodOp: { default: null, type: cc.Node }, nodRole: { default: null, type: NxSpine }, }, // 数据重置 rebind: function( _idx, _data, _key ) { this._super( _idx, _data, _key ); // 刷新 this.setData( _data ); }, // 重置 setData: function( _data, _count ) { /*** * // -->{"_evt_idx":0,"_evt_list":{},"idx":1,"rid":1,"srv_id":"","name":"Youadsha","lev":92,"sex":0,"face":20301,"power":6941,"score":1000,"get_score":22,"status":0, * "p_list":[{"pos":1,"bid":30301,"lev":1,"star":3,"break_lev":0,"use_skin":0,"resonate_lev":0}, * {"pos":2,"bid":10305,"lev":1,"star":3,"break_lev":0,"use_skin":0,"resonate_lev":0}, * {"pos":3,"bid":20301,"lev":1,"star":3,"break_lev":0,"use_skin":0,"resonate_lev":0}, * {"pos":4,"bid":10304,"lev":1,"star":3,"break_lev":0,"use_skin":0,"resonate_lev":0}, * {"pos":5,"bid":20304,"lev":1,"star":3,"break_lev":0,"use_skin":0,"resonate_lev":0}], * "face_update_time":0,"face_file":"","gid":0,"gsrv_id":"","gname":""} */ this.mdata = _data; if( !this.mdata ){ return; } this.freshAll(); // console.log( "需要处理的数据pvp----->" + JSON.stringify( this.mdata ) ); }, freshAll: function(){ this.freshHeader(); this.freshDesc(); this.freshOp(); this.freshPartnerRole(); }, freshHeader: function(){ let cfg = game.configs.item_data.data_unit6[ this.mdata.face ]; let avatarc = 0; if( !cfg ){ avatarc = 29982; } let avtar = { face: avatarc != 0 ? avatarc : this.mdata.face, avatar: 1000, } this.nodHead.setData( avtar ); }, freshDesc: function(){ nx.gui.setString( this.nodLev, "", nx.text.format( "LvNumber" , this.mdata.lev ) ); nx.gui.setString( this.nodDesc, "name", this.mdata.name ); nx.gui.setString( this.nodDesc, "power/txt", this.mdata.power ); nx.gui.setString( this.nodDesc, "point/txt", this.mdata.score ); }, freshOp: function( ){ let model = ArenaController.getInstance().getModel(); let self_data = model.getMyLoopData(); let ffg = game.configs.arena_data.data_const.combat_num; let cfg = game.configs.arena_data.data_const; let free = self_data.can_combat_num <= ffg.val && self_data.can_combat_num > 0; let nod = nx.gui.find( this.nodOp, "mat" ); nx.bridge.setIconS( nod, "icon", cfg.arena_ticket.val, "resDB/empty/icon" ); nx.gui.setString( nod, "txt", free ? nx.text.getKey( "Free" ) : nx.text.getKey( "Challenge" ) ) nx.gui.setActive( nod, "icon", !free ); }, freshPartnerRole: function(){ let partner = this.mdata.p_list[0]; if( partner ){ // 动画 let sinfo = nx.bridge.partner.parseShowInfo( partner.bid, partner.star, partner.use_skin ); if( sinfo ) { // 战斗迷你 this.nodRole.load( sinfo.sp_model, ( _e ) => { if( !_e ) { this.nodRole.action( "stand2", true ); } else { this.nodRole.stop(); } } ); } else { this.nodRole.stop(); } }else{ this.nodRole.stop(); } }, onTouchChallenge: function(){ let arena = ArenaController.getInstance(); let AC = ArenaController.getInstance().getModel(); let skip = 0; if( AC ){ skip = AC.getSkip(); } if( skip == 0 ){ HeroController.getInstance().openFormGoFightPanel(true,1,{ fight : this.mdata },1); }else{ arena.sender20203( this.mdata.rid, this.mdata.srv_id, skip ); } // AC.sender20203( this.mdata.rid, this.mdata.srv_id ); // nx.bridge.closePanel( "WndArenaLoopChallenge" ); // const PVP = PVPMod.getInstance(); // if( PVP ) { // PVP.openPVPWindow( false ); // } }, onTouchIcon: function(){ // let AC = ArenaController.getInstance(); // AC.requestLoopChallengeRoleInfo( this.mdata.rid, this.mdata.srv_id ); // // nx.bridge.closePanel( "WndArenaLoopChallenge" ); // // const PVP = PVPMod.getInstance(); // // if( PVP ) { // // PVP.openPVPWindow( false ); // // } }, } );