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