99 lines
2.6 KiB
JavaScript
99 lines
2.6 KiB
JavaScript
/******************************************************************
|
|
*
|
|
* 图鉴收集任务单项
|
|
*
|
|
******************************************************************/
|
|
|
|
const ModLibrary = require( "library.mod" );
|
|
const { data2Icon } = require( "bridge.utils.item" );
|
|
|
|
cc.Class({
|
|
|
|
extends: cc.Component,
|
|
|
|
properties: {
|
|
},
|
|
|
|
// 重建
|
|
rebuild: function( _data, _infos ) {
|
|
|
|
this.partner = _data;
|
|
this.info = _infos;
|
|
if( nx.dt.objEmpty( this.partner ) ||
|
|
nx.dt.objEmpty( this.info ) ) {
|
|
return;
|
|
}
|
|
|
|
// 描述
|
|
nx.gui.setString( this, "desc", nx.text.getKey( _data.name ) );
|
|
|
|
// 角色信息
|
|
let partner = data2Icon( _data.photo_name );
|
|
if( partner ) {
|
|
|
|
nx.bridge.setIcon( this, "header/icon", partner.icon );
|
|
let qa = cc.path.join( "coms/images", "bg_qa" + _data.quality );
|
|
nx.gui.setSpriteFrame( this, "header/qa", qa );
|
|
let cr = cc.path.join( "coms/images", "career" + _data.career );
|
|
nx.gui.setSpriteFrame( this, "header/career", cr );
|
|
}
|
|
|
|
// 奖励
|
|
let reward = _data.reward[0];
|
|
nx.bridge.setIcon( this, "item/icon", reward[0] );
|
|
nx.gui.setString( this, "item/count", ( reward[1] > 1 ) ? reward[1] : "" );
|
|
|
|
// 状态更新
|
|
this.updateState( _data.statu );
|
|
|
|
},
|
|
|
|
// 状态更新
|
|
updateState: function( _statu ) {
|
|
|
|
// 领取状态
|
|
nx.gui.setActive( this, "item/got", _statu == 2 );
|
|
nx.gui.setActive( this, "item/get", _statu == 1 );
|
|
|
|
// 背景改变
|
|
let file = ( _statu == 1 ) ? "library_08" : "library_09";
|
|
let path = cc.path.join( "prefab/home/library/ui", file );
|
|
nx.gui.setSpriteFrame( this, "", path );
|
|
|
|
},
|
|
|
|
// 点击档案
|
|
onTouchOpenArchive: function() {
|
|
nx.bridge.createPanel( "WndLibraryPartner", {
|
|
bid: this.partner.id,
|
|
auto: false,
|
|
cbClose: () => {
|
|
this.updateState( this.partner.statu );
|
|
}
|
|
} );
|
|
},
|
|
|
|
// 点击领取
|
|
onTouchGet: function() {
|
|
|
|
nx.bridge.createPanel( "WndLibraryPartner", {
|
|
bid: this.partner.id,
|
|
auto: false,
|
|
cbClose: () => {
|
|
this.updateState( this.partner.statu );
|
|
}
|
|
} );
|
|
|
|
// let library = ModLibrary.getInstance();
|
|
// library.reqPartnerReward( this.partner.id, ( _ret, _data ) => {
|
|
// this.updateState( 2 );
|
|
// if( !_ret ) {
|
|
// nx.tbox( _data );
|
|
// return;
|
|
// }
|
|
// } );
|
|
|
|
},
|
|
|
|
});
|