Files
fc/dev/project/assets/Scripts/mod/partner/wings/cmp/cmp.wing.preview.wnd.js
T

125 lines
2.8 KiB
JavaScript
Raw Normal View History

2026-05-23 22:10:14 +08:00
/******************************************************************
*
* 僚机预览
*
******************************************************************/
const BridgeWindow = require( "bridge.window" );
const HeroController = require( "hero_controller" );
const BackpackController = require( "backpack_controller" );
const FxSVC = require( "nx.fx.sv.expand" );
cc.Class( {
extends: BridgeWindow,
properties: {
svcwingsList : {
default: null,
type : FxSVC,
displayName: "僚机列表",
},
skill: {
default: null,
type : cc.Node,
displayName: "技能展示",
},
role: {
default: null,
type : cc.Sprite,
displayName: "立绘",
},
},
onLoad: function() {
this.freshWingList();
},
// 重载:参数打开
onOpenConfigs: function( _params ) {
// this.schemes = [];
// this.select_wing = 0;
// this.select_pos = 0;
},
// 重载:关闭前
onPreClosed: function() {
// this.svcschemeList.rebuild( [] );
this.svcwingsList.rebuild( [] );
},
// 刷新所有的方案列表
freshWingList : function( _scheme ){
let key = game.configs.sprite_data.data_const.sprite_max_star_show.val;
let cfg = gdata( "sprite_data", "data_elfin_book", key );
this.svcwingsList.rebuild( cfg );
this.svcwingsList.addFocus( 0 );
let data = {};
data.index = 0;
data.mdata = cfg[0];
this.onFocusChanged( data );
},
// 选中切换 僚机机库
onFocusChanged: function( _item ) {
// // 聚焦
this.svcwingsList.cleanFocus();
this.svcwingsList.addFocus( _item.index );
this.freshSkillDesc( _item.mdata );
},
// 刷新技能介绍
freshSkillDesc : function( _mdata ){
if( !_mdata ){
return;
}
let key = _mdata;
let sfg = gdata( "sprite_data","data_elfin_data", key );
let cmp = this.skill.getComponent( "cmp.skill.base" );
let ifg = gdata( "item_data","data_unit9", key );
nx.gui.setString( this.skill, "type/txt", ifg.use_desc );
nx.bridge.setIcon( this.role, "", ifg.imageid );
if (sfg.skill) {
if( cmp ){
cmp.setData( sfg.skill );
}
}else{
if( cmp ){
cmp.setData( [] );
}
}
},
// 返回主场景
onBackToMain: function(){
const BC = BackpackController.getInstance();
if( BC ) {
BC.openMainWindow( false );
}
let HR = HeroController.getInstance();
HR.openHeroMainInfoWindow( false );
HR.openHeroBagWindow( true );
},
} );