const ItemBase = require("nx.fx.sv.expand.item"); const CampfightMod = require("campfight.mod"); const RCT = require("role_controller"); const ItemLay = require("cmp.common.itemlayout"); const RoleVo = require("role_vo"); const HeroVo = require("hero_vo"); const ChatController = require("chat_controller"); cc.Class({ extends: ItemBase, properties: { partnerNd:{ default:null, type:cc.Node }, fabHead:{ default:null, type:cc.Prefab }, pname:{ default:null, type:cc.Node }, forms:{ default:null, type:ItemLay }, dmgNum:{ default:null, type:cc.Node }, self:{ default:null, type:cc.Node }, srvNd:{ default:null, type:cc.Node } }, // LIFE-CYCLE CALLBACKS: rebind(_index,_data,_key){ this._super(_index,_data,_key); this.setData(_data,_key); }, setData(data,key){ if(nx.dt.objEmpty(data)){ return; } nx.gui.setActive(this.self,"",false); if(data.dps){ nx.gui.setString(this.dmgNum,"",data.dps); } nx.gui.setString(this.pname,"",data.name); //是否为本人 if(this.self){ let MyroleVo = RCT.getInstance().getRoleVo(); if(MyroleVo && MyroleVo.rid == data.rid && MyroleVo.srv_id == data.srv_id ){ nx.gui.setActive(this.self,"",true); } } let sid = data.srv_id.split( "_" ); nx.gui.setString( this.srvNd, "", data.srv_id == "robot" ? "[" + nx.text.format( "Srever", 1 ) +"]" : "[" + nx.text.format( "Srever", sid[1] ) + "]" ); //加载头像 if(!this.head){ this.head = cc.instantiate(this.fabHead); this.head.parent = this.partnerNd; } let cmp = nx.gui.getComponent(this.head,"","cmp.common.header"); if(cmp){ let vo = new RoleVo(); vo.face_id = data.face; vo.avatar_base_id = data.avatar_id; vo.lev = data.lev; vo.name = data.name; vo.rid = data.rid; vo.srv_id = data.srv_id; cmp.setData(vo); cmp.addCallBack(this.touchHead.bind(this)); } if(data.rank>3){ nx.gui.setActive(this,"4",true); nx.gui.setString(this,"4/num",data.rank); }else{ nx.gui.setActive(this,String(data.rank),true); } //需要展示阵容 if(key == 2 && this.forms){ let pList = data.pve_partners; let heros = []; for(let i in pList){ let cfg = pList[i]; let hero = new HeroVo(); let cfgt = game.configs.partner_data.data_partner_base[cfg.partner_id]; hero.setAttr("bid",cfg.partner_id); hero.setAttr("star",cfg.star); hero.setAttr("lev",cfg.lev); hero.setAttr("camp_type",cfgt.camp_type ); heros.push(hero); } this.forms.rebuild(heros); } }, touchHead:function(){ let MyroleVo = RCT.getInstance().getRoleVo(); if(this.mdata.rid == MyroleVo.rid)return; ChatController.getInstance().openFriendInfo({srv_id :this.mdata.srv_id, rid :this.mdata.rid,name:this.mdata.name}); }, });