Files
2026-05-23 22:10:14 +08:00

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