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 %s", 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("%s", str) }else{ str = cc.js.formatStr("%s", 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; } });