119 lines
3.4 KiB
JavaScript
119 lines
3.4 KiB
JavaScript
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});
|
|
},
|
|
});
|