const ItemBase = require("nx.fx.sv.expand.item"); const ItemLay = require("cmp.common.itemlayout"); const WndStartravel = require("cmp.act.startravel"); const NxSpine = require("nx.fx.spine"); const PathTool = require("pathtool"); cc.Class({ extends: ItemBase, properties: { idx:{ default:null, type:cc.Node }, tag:{ default:null, type:cc.Node }, fabItem:{ default:null, type:cc.Prefab }, lay:{ default:null, type:ItemLay }, maskNd:{ default:null, type:cc.Node }, spCmp:{ default:null, type:NxSpine }, wndCmp:{ default:null, type:WndStartravel } }, rebind(_index,_data,_key){ this._super(_index,_data,_key); this.setData(_data); }, setData(data){ if(nx.dt.objEmpty(data)){ this.lay.rebuild([]); return; } nx.gui.setString(this.idx,"",data.data.lev); let awards = []; for(let idx in data.data.rmb_reward){ awards.push({bid:data.data.rmb_reward[idx][0],num:data.data.rmb_reward[idx][1]}); } this.scheduleOnce(()=>{ this.lay.rebuild(awards); },0.05); let item = cc.instantiate(this.fabItem); item.parent = this.tag; let cmp = nx.gui.getComponent(item,"","cmp.item.base"); if(cmp){ cmp.rebind(0,data.data.reward[0],""); } let is_rmb = 0; this.maskNd.active = false; if(data.cfg){ is_rmb = data.cfg.rmb_status;//是否已购买特权 let is_award = data.cfg.status;//奖励是否已领取 0 没有 1有 if(is_award == 1){ this.maskNd.active = true; nx.gui.setActive(this.maskNd,"1",true); if(is_rmb == 1){ nx.gui.setActive(this.maskNd,"2",true); } this.setLockStatus(0); } }else{ let curExp = this.wndCmp.mod.getCurExp(); let is_get = (curExp >= this.mdata.data.exp);//是否符合领取奖励标准 if(is_get){ this.setLockStatus(1); } } nx.gui.setActive(this.node,"lock1",this.wndCmp.mod.getRMBStatus() != 1); nx.gui.setActive(this.node,"lock2",this.wndCmp.mod.getRMBStatus() != 1); }, setLockStatus(status){ this.scheduleOnce(()=>{ if(status == 0){ this.spCmp.stop(); }else if(status == 1){ let res_path = PathTool.getSpinePath( "E80047",null, false ); this.spCmp.load( res_path, ( _e ) => { if( !_e ) { this.spCmp.action( "action", true ); } else { this.spCmp.stop(); } } ); } },0.1); }, onDisable(){ }, onClickAward(){ if(!this.mdata)return; let curExp = this.wndCmp.mod.getCurExp(); let is_get = (curExp >= this.mdata.data.exp);//是否符合领取奖励标准 if(is_get){ this.wndCmp.mod.reqGift(this.mdata.data.lev); }else{ nx.tbox("BuyAwardLimt"); } } // update (dt) {}, });