Files
fc/dev/project/assets/Scripts/mod/battle/cmp/cmp.item.battle.camp.js
T

129 lines
3.4 KiB
JavaScript
Raw Normal View History

2026-05-23 22:10:14 +08:00
const SVCItem = require("nx.fx.sv.expand.item")
var PartnerCalculate = require("partner_calculate");
cc.Class({
extends: SVCItem,
properties: {
form_icon:{
default:null,
type:cc.Sprite
},
form_btn:{
default:null,
type:cc.Button
},
name_lb:{
default:null,
type:cc.Label
},
attr_label:{
default:null,
type:cc.RichText
},
btnTag:{
default:null,
type:cc.Node
},
detailNd:{
default:null,
type:cc.Node
},
comeNd:{
default:null,
type:cc.Node
},
comeTxt:{
default:null,
type:cc.Node
}
},
// LIFE-CYCLE CALLBACKS:
// onLoad () {},
// 数据重置
rebind: function( _idx, _data, _key ) {
this._super( _idx, _data, _key );
// 刷新
this.setData(_data)
},
// update (dt) {},
setData(data){
if(nx.dt.objEmpty(data)){
return;
}
var self = this;
if(data.is_activate){
this.comeNd.active = true;
this.form_btn.interactable = true;
}else{
this.comeNd.active = false;
this.form_btn.interactable = false;
}
let res_id = data.icon%1000;
let form_res = cc.js.formatStr("coms/images/camps%s",res_id);
// if(data.icon > 1005){
// form_res = PathTool.getCamicoPath("campicon_1000");
// }else{
// form_res = PathTool.getCamicoPath("campicon_" + data.icon);
// }
cc.loader.loadRes(form_res,cc.SpriteFrame,(err,res)=>{
self.form_icon.spriteFrame = res;
})
this.name_lb.string = data.name;
// -- 属性
let desc_str = ""
let index_flag = 0
for(let i in data.attr_data){
let v = data.attr_data[i]
if(v.is_activate){
index_flag = i
}
}
let len = Utils.getArrLen(data.attr_data);
let index = 0;
let come_str = "";
for(let i in data.attr_data){
let v = data.attr_data[i]
let str = v.desc
for(let j=0;j<v.attrs.length;++j){
let attr = v.attrs[j];
let vals = nx.bridge.attrs.fmtAttribute(attr[0],attr[1]);
if(vals){
if(i == index_flag){
str = str + cc.js.formatStr("%s<color=#15f525> %s</color>", vals.name, vals.val)
}else{
str = str + cc.js.formatStr("%s %s", vals.name, vals.val)
}
}
}
if(i == index_flag){
come_str = str;
str = cc.js.formatStr("<color=#15f525>%s</color>", str)
}else{
str = cc.js.formatStr("<color=#ede9e8>%s</color>", str)
}
index++
if(len != index){
desc_str = desc_str + str + "\n"
}else{
desc_str = desc_str + str
}
}
this.attr_label.string = desc_str;
nx.gui.setString(this.comeTxt,"",come_str);
},
onClickshowDetail(){
this.btnTag.scaleY = -this.btnTag.scaleY;
this.detailNd.active = !this.detailNd.active;
}
});