Files
2026-05-23 22:10:14 +08:00

113 lines
2.7 KiB
JavaScript

/******************************************************************
*
* 解锁条件界面
*
******************************************************************/
const BridgeWindow = require( "bridge.window" );
const ItemBase = require( "cmp.item.base" );
const HeroControl = require( "hero_controller" );
const KernelController = require( "halidom_controller" );
const BackpackController = require( "backpack_controller" );
const BackPackConst = require( "backpack_const" );
cc.Class( {
extends: BridgeWindow,
properties: {
nodMat: {
default: null,
type: cc.Node,
},
nodOps: {
default: null,
type: cc.Node,
},
},
// 重载:参数打开
onOpenConfigs: function( _params ) {
// 当前的初始解锁达成状态
this.info = _params;
// this.cb = _params.cb;
// 道具刷新
this.freshInfo( 0 );
},
freshInfo: function( _data ){
let cmp = this.nodMat.getComponent( ItemBase );
cmp.setData( _data );
},
onTouchSelect: function( ){
// 需要的星级限制
let needStar = game.configs.halidom_data.data_base[this.info].loss[0][1];
let partners = HeroControl.getInstance().getModel().getDeepHeroListByCamp( this.info );
let canUseLst = [];
let HC = HeroControl.getInstance();
partners.forEach( _partner => {
if( _partner.is_in_form == 0 && _partner.camp_type == this.info && _partner.star == needStar ){
canUseLst.push( _partner );
}
} )
let nowSelect = [];
let cmp = this.nodMat.getComponent( ItemBase );
if( cmp ){
if( cmp.mdata ){
nowSelect.push( cmp.mdata );
}
}
let args = {
partners: canUseLst,
count : 1,
selects : nowSelect,
}
HC.openPartnerSelector( true, args, ( _selects => {
this.freshInfo( _selects[0] || 0 );
HC.openPartnerSelector( false );
} ) );
},
onTouchUnlocked: function(){
let KC = KernelController.getInstance();
let cmp = this.nodMat.getComponent( ItemBase );
if( KC ){
///[{"id":169}]
if( cmp ){
let id = cmp.mdata.id;
if( nx.dt.objEmpty( cmp.mdata ) ){
nx.tbox( nx.text.getKey( "lab_selectHeroMaterial" ));
return;
}
KC.sender22202( this.info, [{id: id }] );
}
KC.openKernelUnlocked( false );
}
// nx.dt.fnInvoke( this.cb , data );
},
} );