124 lines
3.4 KiB
JavaScript
124 lines
3.4 KiB
JavaScript
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) {},
|
|
});
|