Files
fc/dev/project/assets/Scripts/mod/home/library/cmps/cmp.library.task.item.js
T
2026-05-23 22:10:14 +08:00

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;
// }
// } );
},
});